Texturing

TBN Matrix

Tangent, bitangent, normal — the basis for normal maps

Also known as: Tangent basis · TBN

Definition

The TBN matrix is the per-vertex basis (tangent, bitangent, normal) that transforms a tangent-space normal map sample into world space. If the tangents your baker uses do not match the tangents the engine uses, normal maps render with subtle shading errors at the seams — the classic "looks fine in Painter, wrong in Unreal" problem. The fix is to bake with the same tangent basis your target engine reads, or use a synchronized baker.

In production

Substance Painter defaults to Mikk-TSpace tangent generation, which matches Unreal Engine's import tangent calculation when the FBX exporter is set correctly, but Blender's default tangent space differs enough that normal maps baked in one and rendered in the other show visible seam artifacts along UV island borders — the fix is enabling matching tangent-space export in Blender's FBX exporter or re-baking with xNormal or Marmoset Toolbag using the target engine's exact tangent basis. Because the TBN matrix is built from UV derivatives, mirrored UV islands (common on symmetrical characters) require a mirrored tangent (negative bitangent sign) or the normal map lighting flips incorrectly on one side of the mesh — a bug technical artists often call "inverted green channel" even though the actual cause is tangent mismatch, not just a flipped Y channel. MikkTSpace, the tangent generation standard used by most modern DCCs and engines, was specifically designed to minimize this seam but doesn't eliminate it entirely.

Learn TBN Matrix in

Tools that use TBN Matrix

See also