Author Topic: Imported normal Map not displaying corectly on mesh.  (Read 4781 times)

Hello, I just downloaded the 30 day trial to see if Substance Painter is something I would want to use. I modeled a Fire Hydrant, and baked the normals onto a lower poly mesh to give beveled edges. It works great in both Blender, and Unity. However, In Substance Painter, the normals are not displaying correctly.  I went through this Tutorial in which it said to go to "Project configuration", and switch  the Normal Map format between OpenGL, and DirectX. I have tried this, and I see no difference. There also seems to be no difference for if I have "Compute tangent space per fragment" checked. The normals of my mesh itself do seem to be correct, as I have some parts set to smooth shading, while others are set to flat shading.

I don't know if this is related, but in the tutorial when he imported the mesh and normal map, it gets applied automatically. My normal map is not applied when I import it. I have to manually add a normal channel in the "texture settings" at the top left of the screen, and apply my normal map in a fill layer on the right, after checking the "nrm" button in the material.

Correct imported mesh normals in Substance

Incorrect normal map application in Substance

Correct in Blender

Correct in Unity

I bet I'm just overlooking something really simple.
Last Edit: June 04, 2015, 06:04:24 pm

Hey btenorio77,

welcome to the forums!

If you've imported the normal map alongside the 3D Object it should be applied automatically. Take a look at my first attached screenshot.
If it doesn't connect automatically however, you don't need to enable the Normal Channel and add a fill layer.
In the TextureSet Settings you can assign additional maps if you didn't imported them alongside the 3D Object or if you've baked maps inside of Substance Painter. (Screenshot 2)

Regarding your problem:
Did you triangulate the Object before importing it into Substance Painter?

Best Regards
Environment Artist - Twitter

Hello Fabian F,

Thank you for your response.

I see that my problem is that since my normal map was named "normal03" it wasn't following the naming convention, and that is why it didn't apply automatically. That also must be linked to "project configuration" and thus nothing changed when I switch to OpenGL

I got it working. Thanks!

Now to actually learn how to paint this thing!