I’m having a really tough time trying to get my model’s alignment right in Unity. I can set it in Blender where the Y axis is up and the Z axis is forward, but when I import it to Unity, the axes are completely different and I can’t seem to fix it. Is there a trick or something I’m missing?
The axes will never match. Unity uses a left-handed coordinate system. Blender, right-handed.
Be sure to apply rotation and scale in blender. Also, in Blender, if you go into EDIT MODE, select ALL verts, rotate the entire model 90 degrees on the X axis, you can get it right. You may need to experiment around w/ rotations in edit mode, but this always works for me. Otherwise, you’ll need to parent your blender model to an empty gameObject.
Inside your Assets folder, create a new folder called Editor and paste the code from http://wiki.unity3d.com/index.php/FixBlenderImportRotation into a new C# file. This script fixes the issue of models facing up.
While modelling, ensure the camera front view is facing your model’s back view, otherwise your model will be imported facing backwards. Haven’t found a proper solution for this.
Before importing, ensure you have applied rotation and scale to prevent scaling issues.
When exporting from Blender
Check Transform drop down click
forward = Z forward
Up = Y up
check the apply Transform button
You can use this plugin : Blender to Unity Orientation Fix Plugin
It will automatically fix the orientation of your .blend
files in your Unity project. Just download and install the .unitypackage
in your project, and re-import .blend
files (In Unity Project tab, right click → Reimport)
In BLENDER select View with 1 and 9, and this will correspond to Front view of the object on UNITY in 2D.
Note also that: length of 1 in BLENDER corresponds to length of 5 in Unity.
More simple…