2
$\begingroup$

The top of my mesh from SB: enter image description here

Top of my mesh from Blender: enter image description here

Looking closely, it looks like there is a misalignment... Substance painter has DirectX normal maps and OpenGL normal maps. When I use the latter, it works just fine, so I'm guessing this has something to do with directX and Evee. Perhaps there is a switch I should be turning on?

Top of my mesh in blender after exporting OpenGL normal maps

enter image description here

$\endgroup$

1 Answer 1

2
$\begingroup$

OpenGL uses Y+ for it's normal calculations (first pixel at bottom going "up") whereas DirectX uses Y- (first pixel at top going "down"). Here is the method for DirectX to OpenGL conversion for normal maps that "flips" them to the correct orientation (if it helps):

DirextXtoOPenGL

NOTE - The setup above can also be also be accomplished by using an Invert Node on the Y (Green channel) instead of the Math node, however this would convert greyscale to color then back to greyscale again - the math node keeps it non-color throughout - probably not important for this project but for very large projects, this method is (very slightly) faster.

$\endgroup$
1
  • $\begingroup$ Thank you! I was able to figure out the same method earlier. $\endgroup$
    – Jimmy Lin
    Jun 8, 2022 at 6:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .