I have had no problems exporting .fbx files for Unity except recently some of my .fbx started to rotate the mesh. The asset is correctly oriented, but the mesh is rotated 90 degrees. Is there an explanation and fix for why this happens sometimes, and works properly otherwise?
2 Answers
That is because Blender uses +Z as a up direction whiles Unity uses +Y (most other 3D packages do so). So when exporting your file make sure you have pressed:
PS: I am not sure about the forward, you might have to try both -Z and +Z as I am not sure of Unity.
I also had that problem but just figured it out. Here is a Link to a pretty good explanation, found this on Unity3d.com.
Sarper Soher wrote:
"It's the FBX exporter and the difference of the coordinate systems between Blender and Unity, and simple to fix.
In object mode, set the X rotation of your model to -90. Press Ctrl+A and apply rotation, X rotation appears to be 0 now in Blender, set it to 90 and save/export it. You'll see that it will appear both correct and at 0 rotations now."
http://answers.unity3d.com/questions/319802/rotation-when-importing-from-blender.html
He also wrote a script, but when I use it and import to Unity I always have 0.0002 Rotation on X. I have no idea how to fix that one, but if you hit in the 90 degrees manually again after running the script it's fine. (Blender only shows three decimals on rotation, that's why you can't see the 0.0002 D:)