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.
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;
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.