Why does UV orientation affect normal map shading? Trim sheet problem

In this test picture the planes are using a completely flat normal map but the UVs are rotated differently, as you can see this vastly changes the way the planes are being shaded. This is a problem because when you’re using trim sheets you absolutely must rotate/flip some UV islands to align the tiling textures properly to the geometry. Also in some cases you need to use mirror modifier on the model and the mirrored half of the model is lit the wrong way. How do you fix this or is there a way to avoid this somehow?

1 Like

Is your normal map pointing directly up? If it’s pointing to some other direction, the vectors determined by the normal map also affect how the light is calculated. So when you rotate the map, you also rotate the vectors, thus the lighting changes.

Yes, the normal map should definitely point up since I used a color picker to get the value off the normal map node itself. The weirdest part is that if you unplug the flat image from the normal map node it looks just like it should, even though the image I feed to the node is literally the same exact color as the normal map node has on it by default.

You have a vector input going into the normal image node. What is it?

Just the default setup you get with node wrangler. Unplugging it doesn’t make a difference.

NormalIssue3

Normal maps are completly dependent of UV vectors, as they provide the normal map a coordinate system.

Now, if the normal map has a value of [0.5, 0.5, 1.0], rotating the UV won’t produce any difference. If it does, than you’re either using a wrong color space, or your normal map is wrong.

If you could post the texture you’re using as a normal map, we could check if its ok.

1 Like

What might be tripping you is that the Blender color picker isn’t sRGB, it’s linear. So the correct value for neutral normal map is (0.737, 0.737, 1.000)

This was the case, the color that I picked was way too bright and not a flat normal map color at all. I also had baked a bunch of high poly objects to a flat plane and they also had this bright color because I had ticked “32-bit float” for the empty image that it baked the normals to, apparently you shouldn’t do this for normal maps since the resulting image just comes out way too bright.

It’s working now, thank you.