Blender has always given me minor normal map issues in its renderer and, even since updating to 2.8, I've noticed that these errors are still around. I'm assuming this is an error on my part, but I'm unsure of what I did wrong.

Here's how a given normal map would look for me under an ideal camera angle: Normal map as it should be (ideal circumstances)

However, some extreme camera angles will result in strange artifacts that I'll refer to as banding from this point on... How the normal map handles itself at an angle.

Notice how the normal map is experiencing strange 'dark' islands in the upper right hand corner of the quad. The extremity of the camera-angle to surface plane changes the intensity of these banding artifacts, eventually leading to something along the lines of: Worst case scenario! Look at those artifacts!

These screenshots are taken in blender 2.8's LookDev mode and Eevee produces very similar results.

The workflow I follow is a little bit spread out between programs, but:

  • Low Poly, Cage modeling in Blender 2.8
  • High Poly Sculpting - Blender or Zbrush depending on complexity
  • Bake maps using XNormal. I would use blender, but height map bakes are an absolute must and is unfortunately not supported in blender 2.8.
  • Substance Painter for designing and painting materials
  • Export Maps and Manage additional texture edits in Krita

So there's anywhere along the pipeline where things could be going wrong, but I'd imagine that Xnormal is the very likely culprit. Perhaps there's something wrong with the bit-depth of the normal map?

Lastly, here's my node graph. It's fairly simple, shouldn't be the issue. Data nodes and the images import settings are obviously using Non-color data setting. I've also tried to invert the green channel of the normal map, but it unfortunately only inverted the artifact patterns.

A simple blender node for a texture.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.