Home Technical Talk

(Noob) Shading issues in Blender (or Substance, i don't really know)

node
Offline / Send Message
Rhav node
I wanted to bake a high poly model onto a low poly model. Texturing wasn't a problem, but now i don't understand why a problem arises when i export the textures on Blender.

Here is the issue

I think that this is caused by shading the model smooth. Below is a picture of the model without textures.


Those defects are the same. I could easily fix the shading issue with some support loops, but the thing i don't understand is why the model in substance painter looks absoluteley fine.


This model in substance is the same one from the second picture, which i simply exported shaded smooth into substance.


This is how the shader panel looks like in Blender.


This is the Normal map that i exported from Substance.

I also tried to simply changing to auto smooth or falt inblender, but it doesn't work.

What do you think is the problem? How can i solve this?

Thank you for your time. And,  if you need additional information, don't hesitate to ask me.


Replies

  • gnoop
    Offline / Send Message
    gnoop sublime tool
    1.Invert green for Blender.  Blender requires openGL normal map style.
    2. Shaded all smooth will never work perfect for hard surface things. Even if it looks ok in  Painter it would never going to be same in actual game.   You need either use split/hard edges  or face weighted normals to weed  out  shading gradients from big flat surfaces.   Just split  edges along UV seams .  Game render would consider UV seams  as  splits  anyway  . Every edge along UV seam would have doubled vertexes.

  • Rhav
    Offline / Send Message
    Rhav node
    Thank you for your answers! I suppose then, that you have to kinda balance the normal's shading to obtain the desired result. Also, i dind't know that smooth shading doesn't work with hard surface. I always thought that shading smooth is a must before importing to substance painter, so thank you very much!
  • Fabi_G
    Offline / Send Message
    Fabi_G high dynamic range
    Hi! Hard edges, soft edges? Best read up here: Making sense of hard edges, uvs, normal maps and vertex counts

    Wiki contains more info generally.

    Smooth shading works as well, but because of the gradients in shading the normal map has to compensate more (gradients in the normal map). If the lowpoly is smooth shaded and is edited after the fact, its shading changes and the normal map likely doesn't account for that (for example LODs). That's why using hard edges (+ split UVs!) make sense for hardsurface models. But as always: it depends on the specific use case.

    When exporting from Painter make sure to use the correct preset (OpenGl normal map for Blender). Read up on the handedness of your target application (Common Swizzle Coordinates)

    When baking, make sure to triangulate your model to ensure the topology is consistent across applications. 

  • gnoop
    Offline / Send Message
    gnoop sublime tool
    In my experience those compensating  gradients in normal maps never perfectly compensating  in actual game.  Mikkt  space synced or not.     8 bit only + compression means you have not enough precision.  Add SSAO  to this and   at some light angles you will see those  gradients anyway , especially on reflective materials.     Same for split/hard edges  . Up close you would still  see the seam  .   So if it's supposed to be big on screen it's better to use geometry bevel  and face weighted normals .

    In a word   don't think  normal map will fix all your shading issues . Model  should look as nice  shaded as possible before normal map.  The trick is to move those gradients into smaller areas where they are not so visible.  

    My advice bake the normal map for a second LOD  or with second LOD in mind at least   and model first LOD (close to camera  one) the way vertex /shading /split   normals   whatever your soft calls them  are  staying in same angle.
    But it also depends on how far away the  lod switch is supposed to happen. If it's far away  it's irrelevant .  
    Still in some games low  performance may make you never see lod001  even up close. 


Sign In or Register to comment.