Unity3D Tangent Basis Calculator Plugin for xNormal

Download for xNormal 3.18.8
Download for xNormal 3.18.3
Download for xNormal 3.18.1

What’s it do?

It ensures that the mesh tangent/binormals used to bake the normal map exactly match the ones that Unity generates for it’s meshes. This means that less time needs to be spent on adding support loops or other tricks to ensure that normal maps render correctly, giving a no-fuss superior quality normal map for use in Unity3D.

Thanks to Aras Pranckevičius of the Unity3D dev team for releasing the source code to their tangent basis calculator.

Examples

Here are some examples of normal maps baked from the plugin, compared to various methods of importing tangents and baking normal maps.
Normal map synced to Unity3D's tangent basis.

Issues

There is an issue with the way Unity imports its meshes that can break your tangents, related to the Smoothing Angle setting. If you see strange lighting seams on your mesh where there should be none, this is probably the cause.

To fix this automatically, try this;
SmoothingAngleFix.js

To fix this manually;

  • In the Inspector for the FBX file…
  • Set Normals to Calculate.
  • Set Smoothing Angle to 180.
  • Set Normals to Import.
  • Set Tangents to Calculate.

About Farfarer

Author of this blog.
Posted in Unity. Bookmark the permalink.

Comments are closed.