Home Technical Talk

hmm so whats the best topo for this situation how does someone remove the ngons here?

polycounter lvl 5

Replies

  • oglu
  • FrankPolygon
    Offline / Send Message
    FrankPolygon grand marshal polycounter

    It depends on what this mesh is going to be used for. The example looks like it's for low poly baking?

    If that's the case, having a lot of long thin triangles will be less than ideal. Extremely long and thin triangles can be more expensive to render and can introduce certain issues with mesh smoothing, normal baking and texture accuracy.

    See this thread and article for more information:

    That's not to say that they can't or shouldn't be used but rather in this example there are a few faces (particularly the ring of long, thin faces that runs around the outside of the cylinders) that are too thin and will likely cause issues.

    Here's an example of a few possible topology strategies. Run some test bakes and decide which one offers the best trade-off between normal stress gradients and geometry density. If a watertight mesh isn't a requirement then it may be possible to avoid the complexities of joining the cylinders to the rounded rectangle.


    Capping the cylinders is a secondary issue. In this example a shortest diagonal fill was used. A couple of alternate options would be a quad fill, connected edges, or a triangle fan meeting at a single vert. Which of these is best will depend on the project. Having a lot of tiny triangles isn't the greatest thing in the world but it saves an extra vert and a couple extra triangles.



    You can also mix and match parts of the edge flow strategies shown here. It all comes down to a trade-off between geometry density and baking performance / normal map gradients.
  • JordanDaushvili
    Offline / Send Message
    JordanDaushvili polycounter lvl 5
    @FrankPolygon I don't think there is a way to thank you enough. This is very helpful and expands my understanding of low poly. These cylinders are actually stands of a coffee machine so maybe I should avoid joining them with the rest of the body. Im not sure how i feel about the normals on that part either. Here are some examples


    I have hard edges, seams and enough padding between islands of the cylinder for a better normal bake but i still get an ugly seam in the middle of the edge (im guessing the reason is because i have a very soft edge on the high poly and i need to add some more geo or reduce the softness) .
    Anyway, i will sort that out later on and that was not our point.
     I would like for you to expand on some terms you have used for me to better understand what is going on.
    "trade-off between normal stress gradients and geometry density" 
    could you expand a little bit on this specific sentence?
    And again thank you very much!
  • FrankPolygon
    Offline / Send Message
    FrankPolygon grand marshal polycounter

    There's a few thing that can cause this baking error. Since the mesh already has hard edges, UV splits and UV padding then it's probably a ray miss caused by the bake settings. If you're using Blender to bake normals with edge splits: you'll need to enable the cage offset in the Selected to Active settings panel. Add an offset value somewhere between a few millimeters to a few centimeters. This cage offset should take care of the seams along the hard edges in the low poly bake.



    Mesh smoothing and normal map gradients can be controlled and reduced with additional geometry, custom normals and hard edges. What's going to work best will depend on the technical limitations of the project. If hard edges can't be used reliably (limiting the mesh to a single smoothing group) then custom normals or additional geometry needs to be used to reduce smooth shading errors and normal map gradients.

    Your low poly mesh already has UV splits where it needs to have hard edges so it makes sense to use them since they're effectively free.

    In the example below: the basic topology introduces a lot of stress that causes harsh shading errors. The normal bake will use a strong color gradient to counter the shading errors but this gradient can cause it's own set of problems down the line. That's why it's best to control or reduce the normal gradient as much as possible, while optimizing and remaining within the project limitations.

    Options for controlling smooth shading behavior include: hard edges, custom normals and additional geometry. (Shown below)


    Technical limitations like poly count, texture bit depth, texture size, tangent space, etc all play a role in how well something bakes. Even when using hard edges, different topology layouts will produce subtle differences in the smoothing and normal gradients. This is why it's important to run a few test bakes to figure out what's going to work best within the technical constrains of the project.

    The examples below illustrates how much topology alone can influence the normal map gradient. Most of the time it comes down to using the right mesh smoothing strategy and making a series of trade-offs between the number of UV splits and the amount of supporting geometry that's required to work around smoothing errors and technical limitations.



    With practice it becomes easier to anticipate how topology layouts, mesh smoothing and normal gradients will behave when baking.

    Here's a few threads that cover these topics in greater detail:
    https://polycount.com/discussion/154664/a-short-explanation-about-custom-vertex-normals-tutorial

    (The video at the start of the hard edges thread is an excellent resource.)
Sign In or Register to comment.