Home Technical Talk

At what Angle do we consider an Edge to be hard (when do we split?)

polycounter lvl 8
Offline / Send Message
MisterSande polycounter lvl 8
I used to think that only 90* edges should be split / smoothed seperately but after baking several objects I got confused. At what "angle" would you start to see smoothing errors and would require a split ?


So I made some test planes to test it myself and it seems that everything under +- < 60 degrees smoothes fine on 1 group (no split). Is this correct ?


Replies

  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    It really just depends on where the angle is and how it looks in engine. I've switched to making my smoothing groups first (soft/hard edges) and then uving from that.
  • Bartalon
    Options
    Offline / Send Message
    Bartalon polycounter lvl 12
    The harsher the angle difference is between two smoothed polygons, the more severe the lighting gradient will be on your low poly, as you illustrated in your image.  These gradients will be baked into your normal map to compensate for the low poly's vertex normals compared to your high poly's surface normals and can cause visual artifacts after texture compression and mip mapping happen.  So if your low poly is showing gradients, consider splitting the smoothing and UVs there.

    Personally, after 45 degrees I start to consider splitting smoothing groups, although polygon size also plays a part in my decision.  Smaller polygons won't have much of a gradient in texture space and won't be as noticeable as huge polygons with gradients covering everything.  And 90+ degrees always gets a split because the gradients are really bad at that point.
  • MisterSande
    Options
    Offline / Send Message
    MisterSande polycounter lvl 8
    great tips guys, danke !
  • Mirbobo
    Options
    Offline / Send Message
    If you're using a synced workflow there shouldn't really be any major errors even at 90 degree angles with no smoothing splits, excluding possible errors from compression and mip-mapping. If you are facing major baking errors I suggest reading EarthQuakes sticky about tangent-spaces and smoothing splits.

    Personally I just split edges by UV islands and then check for possible errors. If there are some I either chamfer/Bevel or split the edge to reduce the gradients  and re-bake.  
  • ActionDawg
    Options
    Offline / Send Message
    ActionDawg greentooth
    I second that when using a synced workflow you can get a way with a lot more. Especially when you have stair-step-like 90 degree angles, you can throw that stuff in a single smoothing group. Another example is the door model on page 2 of my thread (in my signature) which uses one smoothing group.

    @Mirbobo is dead on with the mipmapping, and a nice tip along those lines is that very high roughness and/or noisy normal mapped surfaces can have a more liberal application of smoothing, even at sharp angles. So it really comes down to your renderer + the content you're making.
  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    60 degrees is typically where I start to split, probably because Softimage by default automatically creates a hard hard at that angle. I don't strictly follow the guideline, but it's a good starting point. Also the auto hard edge is nice because you can easily tell when you go past that threshold, and you might decide to soften an angle a bit. 
  • yukonwanderer
    Options
    Offline / Send Message
    yukonwanderer polygon
    @mirbobo and @somedoggy - what do you mean by a synched workflow? (I don't mean to highjack the thread)
  • Farfarer
    Options
    Offline / Send Message
    By and large I'll simply split shading along UV island boundary edges.

    Although, even then, I'll tend to not split the shading if it lies along a rounded shape (because the split'll usually get "bigger" - the angle between the polygons either side gets more obtuse - as you get lower in LOD and your normal maps will falter more readily).
  • Mirbobo
    Options
    Offline / Send Message
    Not to hijack this thread, but in a synced workflow the software used to bake and the software used to render the normal map use the same tangent-basis. In layman's term they "speak the same language" when it comes to normal maps, reducing smoothing related issues to nearly none. You can read more about normal maps and how they work in the Polycount wiki
  • ZacD
  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    You do have to think about how the LODs will look though! You don't want any normals that are TOO crazy. They may not show up in LOD 0 with he synced workflow but if they LOD out poorly very quickly in a large area of the mesh it will become super noticeable. 
Sign In or Register to comment.