Smoothing Groups

Comments

11 comments

  • Avatar
    Lucia CR

    are you referring to something like this (an older request): https://support.capturingreality.com/hc/en-us/community/posts/115000776471

    0
    Comment actions Permalink
  • Avatar
    BenjvC

    A Smoothing Group is actually a very different thing from what's described in your link. It's also a lot easier to implement as this only affects what happens between faces, be that a sharp line or some amount of smoothing per face/face junction. Here's link to a page explaining it regarding 3DS Max, but in my case, I need this function because of Unreal Engine requiring Smoothing Groups to not display the choppy look of faces without at least one global Smoothing Group. One Smoothing Group is fine for the whole Component, not necessary to assign different value per group, as other modelers do when generating objects and such.

    The link you provided, I have to admit, would be far more meaningful to the community, to all of photogrammetry! The blobbyness one user describes on planes, lines that are supposed to be smooth/straight/curved, etc. is related to how a point cloud is tessellated to a polygonal mesh. Here's how I understand the problem. When I walk into a room and look around and see the ceiling, the joints to the four walls, in turn to the floor, my quick (and dirty) mental map makes the surfaces planar and the junctions into straight lines. We know construction, obliquely shining a flashlight across the walls reveals dips and out of plumb joints. This works across scale, the door faces of cabinets, CD cases, etc. To the computer, specifically the algorithm in an SFM solution used to tessellate so many vertices in a point cloud into a mesh, there are no "ideas" in the computer to say, "this wall is flat", "this point is a corner", so connecting the dots doesn't feature the upside of the quick and dirty mental maps we have going on. 

    Here's an example, my cabinets, wide view seems okay:

    If you look closely, the cabinet faces are smooth (after manual smoothing) but the edges are rough (no tool for that). Now look at the CD cases and edges of the cabinets, this with 42 MP images shot low ISO, some at 2 M distance, many at .2 M distance, several hundred, so plenty of good photos:

    I'm told this is a huge challenge others have been working on, anybody who can solve it wins big, as presently the entertainment industry (film and video games) might use scans, but only as a template, environment artists have to go in (especially manmade environments featuring smooth lines and shapes) and remodel everything, so this would be a game change saving millions if digital assets for virtual sets were truly procedural. Photogrammetry is to virtual sets today as the camera was to painting portraits and landscapes back in the 1830s. People cried, "Art is dead", and so the artist, but no, many of us put down the paint brush and picked up a camera.

    The way forward is clear, your team can do this, superb mathematicians they are. There's much discussion these days about AI and the use of neural networks to solve all kinds of problems. I'm not a mathematician, but if I understood the mechanics, the "I" in "AI" tells us what we need to know. If the general vector of a series of points takes off from a general cluster of points along three axis at a roughly 90° angle, that's a corner and so is that cluster at the other end of each of those lines and all the polys falling within four such lines is basically a plane. We wouldn't want too be to rigid in these rules,  make the line too hard, the corner too sharp, would look fake, real world when you get up close shows the corner is more of a cup shape. So allow for some averaging, rules feature a weight, which has the added benefit of not forcing the model off from actual imperfections such that nothing then fits. 

    If RC wants to make yet bigger waves in this space, that's my 2 cents. Love the software, but I'm limited to what projects I can sell, and if a procedural means of digitizing manmade environments isn't viable, we both lose out.

    Thanks!

    0
    Comment actions Permalink
  • Avatar
    Lucia CR

    thank you for the additional information.

    currently you can use the smoothing tool (recently improved) to smooth the surface of a selected model, so you would like to expand this feature to all models in a component at once then?

    0
    Comment actions Permalink
  • Avatar
    TSchmidt_Viracon

    I also wish for good smoothing groups.
    You can export the smoothed polygons, but they don't show up as smoothing groups in Unreal Engine 5 and the smoothed faces are wrong, so I have to adjust them manually in Unreal Engine.
    In other programs I then have no other choice (if I want to save the 1-3 minutes to export, import, export) but to use the flatshading.

    Here's what it looks like when I export it with "Export base normals false".

    There are no errors here, but it doesn't look very nice either. When I activate it, it looks like this

    Things look much worse in the software at my work. 
    But there the flatshading also looks awful but better than these errors. and to fix it in UE5 I go into the model editing mode and recalculate the normals (certainly also works in Blender, but it is always additional time necessary, privately this is no problem but at work it adds up).

    Model cleanup and topology checking did not help. I am writing in the hope that you will implement something like this in RC. That would be enormously helpful! And maybe the tip with Unreal Engine will help someone.

     

    1
    Comment actions Permalink
  • Avatar
    Ondrej Trhan CR

    Dear Tim, I added your vote to this feature request. Also, thank you for the tips.

    1
    Comment actions Permalink
  • Avatar
    TSchmidt_Viracon

    You can do the same in Blender.
    To do this, export the OBJ or FBX to RC. 
    Open Blender, import the OBJ or FBX. 
    Go to the object data properties and enter normals in the search. 
    For normals "autosmooth" select an angle. 
    And if necessary press clear custom split normals data.
    Then simply export and overwrite.

    I would really like to have this feature in RC and it doesn't seem to be a highly complex issue.
    PS: After some testing it looks like RC is almost doing it, except that the angle is set to 180°.
    When I set the angle to 180° in Blender it looks almost the same.

    0
    Comment actions Permalink
  • Avatar
    Ronski

    Plus one on this request!

    I think RC displays hard edge vertex normals but doesn't export them right? I was doing some experiments exporting to sketchfab and found if vertex normals are off Sketchfab processes the model (fairly horribly) so you have to go into a 3rd party app like blender to get what you want or its always soft if you have vertex normals on.

    Having the ability to set a vertex smoothing normal angle within RC would be amazingly helpful to avoid unnecessarily additional steps outside the software!

    0
    Comment actions Permalink
  • Avatar
    marnet21

    I would also like this, going through Blender to get to Unreal 5 is such a pain.

    0
    Comment actions Permalink
  • Avatar
    Ondrej Trhan CR

    Ronski, marnet21, your votes were added

    0
    Comment actions Permalink
  • Avatar
    Aerostade

    Ah! This is exactly my problem in exporting to Nira, too!
    I’m creating a virtual art gallery for a client, and the room “has to be exactly this.” Okie doke, but the walls are bare and white, and there are 4 10ft tall, arched windows on the side facing southeast, so….

    It’s been a nightmare project;, because of clean white walls, but I finally got it looking good in RC, only to have it lose the sharp edges when exporting and viewing.

    If anyone could point me to a tutorial to replace the walls with low-poly imitations, that would be awesome.

    0
    Comment actions Permalink
  • Avatar
    TSchmidt_Viracon

    Depends on how many polygons your models have. Below 500,000 you can adjust it wonderfully with Blender. E.g. flattening, either via the Flatten tool (Advanced settings and then select original surface or something like that) or remove and fill with new polygons (press F after selecting the surface and then Ctrl + T to triangulate).

    Above that you would have to think about other programs, like Meshlab or similar. (I do not use myself do not know if you can do that there)

    Otherwise an option in RC would be to select the wall and smooth it with very high values and also simplify the model there. And then to smooth the whole model a little bit, so that the sharp corners of the processed region disappear.

    0
    Comment actions Permalink

Please sign in to leave a comment.