Home Technical Talk

Normal map doesn't look good on my LOD's sharing the same UV's/Maps

polycounter lvl 3
Offline / Send Message
poopstick polycounter lvl 3
I'm attempting to create a LEGO leg with 2 LOD's my initial high quality is fine for what I need but every time I try and break down the model for the lower LOD I cannot get the normal maps to look correct.

So here's my LOD 1 and 2 and as you can see the normal maps for the left lower LOD look strange



I can't work out why this is happening? the lower LOD occupies the same space on the UV map as the the higher LOD. Here you can see that they are overlapping almost perfectly.



Here you can even see that the normal map is pretty much mapped exactly the same.



Why are my normals not appearing correctly in game and on Substance painter for the low LOD?

Cheers.

Replies

  • EarthQuake
    Options
    Offline / Send Message
    The baked normal map corresponds to the exact mesh normals of the lowpoly mesh. The normal map data is baked in such a way to compensate for those normals, to make the smoothing of the lowpoly mesh look like the smoothing of the highpoly mesh. When you make an LOD version of the low, you change the mesh normals, and thus the normal map no longer matches, so you get these smoothing errors.

    When authoring content to work well with LODs, generally you'll want to use hard edges/smoothing groups, so that the normal doesn't have to do so much "heavy lighting".
  • Melazee
    Options
    Offline / Send Message
    Melazee polycounter lvl 11
    Make sure the UV shell edges are hardened on both. I use this script all the time: http://jonathonstewart.blogspot.co.uk/2012/10/script-harden-edges-of-all-uv-borders.html

    Apply that script to both meshes, then rebake and see how it turns out :) 
  • poopstick
    Options
    Offline / Send Message
    poopstick polycounter lvl 3
    I get what you guys are saying but I'm not fully sure I understand what I need to do. I usually bake down onto a fully smoothed low poly, i.e. a model will all faces set to one smoothing group. Are you saying that in order to fix this all I really need to do is define my smoothing groups better leaving hard edges hard, and rebake? 

    Is there any good info, articles, videos where I can learn more about this?

    Also @Melazee Thanks for the link but I don't have Maya, does this script work in 3DS Max?
  • commador
    Options
    Offline / Send Message
    commador polycounter lvl 14
    poopstick said:
    Are you saying that in order to fix this all I really need to do is define my smoothing groups better leaving hard edges hard, and rebake?
    Essentially, yes. Also, don't forget to leave some padding between your islands if they are not connected. 
  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    Also, I would create a separate UV island for each area with 90 degree edges, it would help with making the normal map work well with the LODs. 
  • rohMizuno
    Options
    Offline / Send Message
    Nothing to do with the normal map issue, but you could also do some optimization on the high poly mesh, all those vertical line that are doing nothing for the silhouette could go :P
  • poopstick
    Options
    Offline / Send Message
    poopstick polycounter lvl 3
    Ok I've restarted work on the LEGO leg, I've now seperate the UV islands over 90 degrees, and now I'm going to create the smoothing groups for each island.

    I'm a little confused though, does every single island need it's own individual smoothing group for baking? Or can I use the same smoothing group from two island as long as they aren't next to each other on the model? I only ask because if they all need to be individual I'm already reaching 26 seperate islands, and that's just for one leg!

    @rohMizuno Yeah there probably is too many, I mainly kept them in for animation purposes as the leg doesn't animate statically like actual LEGO


  • EarthQuake
    Options
    Offline / Send Message
    For everywhere you have hard edges, you'll want to separate the UV islands to avoid normal map artifacts. If you can get away with less smoothing groups/uv islands really depends, I would suggest doing some tests to find out.
Sign In or Register to comment.