It has overlapping UVs but it’s fine since model is symmetrical.
I also have normal-map from hi-res version of this model. When I apply this normal map in Maya, everything is fine. The model looks exactly as expected:
But some very weird artifacts appear when I export this model to FBX and add it to unity scene:
These artifacts become less notticable if I triangulate the mesh before baking normal map and exporting this model to Unity. But they’re still there:
I’m exporting with “Tangents and Binormals” FBX option on, and I’ve tried all the combinations of “Normals Tangents” in Unity’s FBXImport settings. But the above screenshot is the best I can get.
What do I need to do to make Unity display normal map properly?
Sorry for so many screenshots. I tried to illustrate the problem as best as I can.
Unity and Maya’s tangent basis are different and Unity’s settings for importing tangents doesn’t seem to really work.
Your best bet is to export FBX from Maya (with export tangents turned on), load that up in XNormal and bake it via that rather than in Maya.
You can at least ensure the normals/tangents that the map is baked with are the same as exported to FBX. Sadly, this still doesn’t work as correctly as it should in Unity - but it’s the closest I’ve managed to get.
Schlumpfsack,
thanks for good solution. But the problem here is that this model should have no textures (it neeed to be a simple smooth object of a single color). I guess, your solution should work, but not in this particular case.
Farfarer,
I already do as you described:
triangulate the model in Maya
Export it to FBX with “Tangents and binormals” on.
Use this file both for unity and to bake normal map in xNormal.
Just forgot to mention about xNormal in my 1st post.
Thanks for making it clear that it’s not my fault but instead Unity’s kind of bug.
But, still, I need to remove these artifacts. For now, the only way I see to fix it is adding more polygons to my lowpoly model and therefore making it more smooth. Are there any tricks I can use? It would be nice to fix the problem while staying in the same polygon budget.