Home Technical Talk

Difference from smothing groups vs weighted vertex normals.

polycounter lvl 12
Offline / Send Message
Rockley Bonner polycounter lvl 12
Im using a med poly and smoothing group workflow for my current project. is there a difference why I should be using one over the other or is it another way to do the same thing? Maybe Im missing something. Any help would be appreciated, thanks!

Replies

  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    Nothing prevents you from using both. They are two different things, and complement each other very well.

    https://www.youtube.com/watch?v=DqaUH4r8BK4
  • AtticusMars
    Options
    Offline / Send Message
    AtticusMars greentooth
    That mirrored cursor is trippin me out

    One way to think about it is that smoothing groups split or unify your vertex normals, while weighted vertex normals change the direction the normals themselves are pointing.
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    Lefties unite !
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    Pros:

    - mostly easy to use and understand
    - provides perfect, smooth shading on the corners without a need to bake from a highpoly
    - provides nice shading on the flat faces/ hard surface objects, without a need to bake from a highpoly
    - bevels improve silhouette
    - its literally free - same vertex count as w smoothing groups w/o  bevels
    - can work with baking as well, and then it also improves gradients in the normal map A LOT...

    Cons:

    - Programs has very little to no support by default so you need a script or plugin for editing. Previewing works in any environment, that is able to read your normals.
    - With some programs, it has some restrictions - ie. in 3dsmax , any kind of mirroring or symmetry needs to be applied, before the script was applied
    - Can increase overdraw - but its not so bad, this never caused me any real issue
    - Needs high quality anti-aliasing like temporal AA or something that involves super sampling, to avoid poor aliasing on the specular highlights on the edges.

    I guess you already saw this thread, but maybe it would worth to take an another look if you are considering transitioning your project to it. There are many comments, they share their experiences, thoughts, opinion.
    http://polycount.com/discussion/154664/a-short-explanation-about-custom-vertex-normals-tutorial/p1
    I may be biased but personally I would always prefer this over the smoothing groups, simply because it looks much cooler and higher quality, after not much effort. smoothing groups wall corners ? And smoothing groups on edges of not-so important stuff? It works but it looks so 90s :D  I mean why would you not want  the soft edges, flat shading on flat faces, and other benefits, when its like a button press.

    Hope this helped some.



  • Rockley Bonner
    Options
    Offline / Send Message
    Rockley Bonner polycounter lvl 12
  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    You kinda mentioned one of the pros, but didn't really expand on it. 

    "- can work with baking as well, and then it also improves gradients in the normal map A LOT..."

    What this really means is for games where your normal map is going to get compressed, there's going to be a lot less compression artifacts (like banding or noise) over large flat areas. It doesn't really matter for a Marmoset Toolbag screen shot, but for UE4 or an actual game, that compression can make a big difference on clean surfaces. 
  • Bek
    Options
    Offline / Send Message
    Bek interpolator
    Obscura said:

    - its literally free - same vertex count as w smoothing groups w/o  bevels
    Wellllll, it's almost free, depending on what you do with your UV's. Obviously a cylinder with a bevel on its caps isn't going to unwrap into one island; you're still going to have splits in there somewhere. If you don't need UV's though, you've little to worry about. Quick test to demonstrate this, 24 segment cylinder unwrapped:
    No Bevel: 98 Real Verts, 92 Tri<br>Bevel: 148 Real Verts, 188 Tri
    So while the bevel is more efficient (more geo but no extra splits) you still have more real verts in total. ~1.5x more in this case. Of course, with the bevel you also get a better silhouette.

    And speaking of UV's, another con for weighted normals (using bevels) is your UV'ing suddenly becomes more fiddly. Of course, you can have less splits than you otherwise might, but it's going to be more effort to unwrap than with no bevel, or with just loops. Another plus of loops is they can be removed with ease for LODs. That's not an option for bevels. Anyway, you're not always restricted to using on or the other (bevels or loops), or neither, so weigh the pros/cons in each case.
  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    You could always use x2 bevels if you want easy LODs, but of course that's a lot more geometry and potentially more quad overdraw. Pros and cons for everything. 
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    ZacD said:
    You kinda mentioned one of the pros, but didn't really expand on it. 

    "- can work with baking as well, and then it also improves gradients in the normal map A LOT..."

    What this really means is for games where your normal map is going to get compressed, there's going to be a lot less compression artifacts (like banding or noise) over large flat areas. It doesn't really matter for a Marmoset Toolbag screen shot, but for UE4 or an actual game, that compression can make a big difference on clean surfaces. 
    I would say this thing with the compression is just a part of the story. So when you are using face weighted normals on a hard surface mesh, you usually eliminate like the 90% of the unwanted gradients on the flat surfaces. This is happening, because the vertex normals are perpendicular to the edge, and they are not bending out on the mesh, like they would do when not using weighted normals. So then the normal map that you bake, will mostly contain edges, and detail, and no harsh shaded along flat faces. So when the compression happens, it can do a better job with the nice, clean normal map. I guess... 

    But when you do face weighted normals, you almost never bake from a high poly, so evil unwanted gradients are kinda irrelevant in this topic :smiley:

    There is one more benefit of this technique, and its about the edge and shape visibility...When you have a hard surface mesh with angular details and smoothing groups, and you don't bevel the edges, nor use a normal map, sometimes, from some angles, those details will fully blend with the surfaces around them, because the back side of the detail is fully occluded so you only see the top of the detail and the background area. But when you have the bevels, this won't happen, because all edges are rounded in the geometry so the bending of the edges will make them not blend with the background.

    Here is a comparison:




    Of course, with proper lighting, this is usually not this horrible  when using only smoothing groups (and otherwise you would probably bake a normalmap anyways...) but still a thing. And a nice one especially because the same thing is true for specular reflections on the edges.

Sign In or Register to comment.