0
$\begingroup$

I know a pixel on a normal map's RGB value represents the normal vector's XYZ coordination. but in which space? World space, the object's local space, or relative to the face's normal? If it's not relative to the face's normal, does it mean that a normal map completely overrides the face/vertex normals?

Let's assume we only use Principled BSDF here.

$\endgroup$
2
$\begingroup$

The BSDF you plug it into doesn't matter. The way that the normal map is treated doesn't depend on what it ultimately feeds.

As you realized, a tangent space normal map is made out of (remapped, -1,1 to 0,1) vectors in tangent space.

An object space normal map is made out of (remapped) vectors in object space.

The output of a normal map node is expressed in world space. The normal map node undoes the remapping of the normal map and transforms its space from either tangent or object to world.

$\endgroup$
0
$\begingroup$

I did some research and the answer is "tangent space". It's actually a surprisingly complicated concept. In short, it depends on both the face normal and the UV unwrapping.

https://learnopengl.com/Advanced-Lighting/Normal-Mapping

$\endgroup$
1
  • 1
    $\begingroup$ It depends on how the normal map was generated. It can be in object or tangent space in blender, but normally it is in tangent space. $\endgroup$
    – LWS SWL
    Jul 13 at 13:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.