Home Adobe Substance

SP to Unity - normal map 'y' flipped

pukeanddie
polycounter lvl 2
Offline / Send Message
pukeanddie polycounter lvl 2
My normal maps exported out of substance painter are inverted when applied to the standard shader in Unity. 

In Substance Painter the details of the shoe are raised up from the surface:


And in unity, the normal map is pushing the same details into the mesh.



I see this issue has cropped up for others, and the solution always seems to be to set the exported normal map to us opengl vs directX. Well, I've tried both and my normals are still pushing into the mesh. 

Unity 2018.2
Substance Painter 2018.1.3

Replies

  • CheeseOnToast
    Options
    Offline / Send Message
    CheeseOnToast greentooth
    Did you set the project up as Open GL at the start? If not, go into the edit menu > project configuration and change it there.
  • pukeanddie
    Options
    Offline / Send Message
    pukeanddie polycounter lvl 2
    Yes, set up as Open GL in project configuration.
  • Xathian
    Options
    Offline / Send Message
    Xathian polycounter lvl 3
    It essentially doesn't matter if your normal is OpenGL or DirectX with Unity, what matters is the number you enter in the box next to it. If your map appears inverted, just change the number to either 1 or -1, whichever is the opposite of its current value.
  • pukeanddie
    Options
    Offline / Send Message
    pukeanddie polycounter lvl 2
    Xathian said:
    It essentially doesn't matter if your normal is OpenGL or DirectX with Unity, what matters is the number you enter in the box next to it. If your map appears inverted, just change the number to either 1 or -1, whichever is the opposite of its current value.
    Well, the situation is that I am targeting a mobile device, and mobile devices don't support scaled UVs.. apparently.. according to the warning unity gives me.

    Looks like my issue somehow was with he project configuration. I had originally set it up as directX and then tried chaging it to openGL. That didn't work for me, but if I started a brand new project with openGL everything worked fine.


Sign In or Register to comment.