Hello! I’m fairly new to Unreal so I hope this isn’t too silly of a question, but I’m having a weird issue with my normal maps. As you can see in the image below, I have two instances of the same object in my scene, but when I rotate it 90 degrees, the normals seem to invert. I’ve tried flipping the green channel, rebuilding the lighting, unchecking Tangent Space Normal in the material properties, and using a TransformVector node. Nothing seems to have an effect.
It’s as if the mesh has to be aligned with the Z axis for the normals to work. I suspect this has something to do with world space vs tangent space, but I just can’t figure out what is going wrong. Any advice would be greatly appreciated.
Your normals are probably not inverted. I came across this problem myself awhile ago. The normals (NOT the normal map) just aren’t rotating with the object. You’ll have to rotate the normals on the normal map along with the object if it’s not behaving correctly. If I remember correctly, you can just use a CustomRotator on the pixels of the normal map (in other words, put it after the RGB values) to do the trick. You’ll have to experiment a bit. Just try rotating the RB values, then the RG values if that doesn’t work, then the BG values if those don’t work. With any luck, you’ll eventually get the correct normals. You’ll have to link up a dynamic material parameter with the CustomRotator with the object’s rotation afterward in order to have it work with the rotation of the object in real-time.