The other day I imported Normal Maps from Marvelous Designer into Substance Painter. Turns out they were flipped, or at least parts of them were. I was trying to find a way to invert them, which I knew had to exist, but it wasn’t very intuitive to find. Thanks to Fugazi (aka John from 3D Megaverse) I now know where that option is, and I thought I’d share it with us all.
- in Substance Painter, select the Material Layer with the normals in question
- on the Properties Tab, under Material, find that unsuspecting context menu
- click it to enable the Color Spaces option
- on the new drop-down menu, switch from Direct3D to OpenGL (or vice versa)
“So what’s going on here?” you may ask. “Didn’t we select something like that when we created our new Substance Project, and don’t we have to deal with this when it comes to exporting out maps?” Good questions indeed!
John and I surmised that there are indeed three settings relating to normal maps:
- on the New Project dialogue, in which we set how Substance Painter handles normals for the current session internally
- on the Bake Textures dialogue, in which we determine how the maps are exported
- and on the Color Spaces tab inside the normal maps property, which determines how the current set of imported normal maps is to be interpreted
Each option does indeed serve a different purpose. The only difference between OpenGL and DirectX / Direct3D is the direction of the green channel. Some applications/engines prefer one way or the other, or can handle either. Marvelous Designer and Daz Studio for example require OpenGL. For further apps, please refer to this handy dandy list by Marcel van Duijin (thanks Marcel!)
So there we have it! Another 3D Mystery has been solved!