When exporting models from Blender into Unity one must take into account the handedness of both programs.
Blender considers Z vector as the UP vector, but Unity considers the Y vector as the UP.
Now, if you want a model who is facing up in Blender (along Z) to be facing up in Unity (along Y) when imported, people recommend this simple fix:
- model your 3D model in Blender along the Y axis and apply the necessary rotation onto the model.
Now when working in Blender if you want to use Z as the UP vector, you simply transform your model by a positive 90 degree rotation around X (but don't apply the rotation).
I export my model using Blenders built-in FBX exporter with the default settings (UP = Y axis and FORWARD = -Z axis).
When imported into Unity, my model is facing upwards as expected along the Y axis.
But, what I don't understand is why my model is also rotated 180 degrees around the Y axis?
In the first image from Blender you can see that my cup handle pointed along the x axis aka right, but now is facing left (-X direction).