Has anyone noticed Unity's world axis is flipped relative to modelling apps?


After having some problems importing and orienting fbx models at runtime, I've just discovered that Unity's Z axis is flipped relative to how the model is oriented in Cinema4D. e.g. In C4D you have a cube that tapers in its positive Z direction. After importing in to Unity, the cube now tapers in the negative Z direction.

This has the unfortunate consequence that when trying to programmatically import and orient models, all rotations are opposite.

I only have C4D, so wondered if anyone can confirm this happens with models from maya/max/lw/blender etc?


Unity uses left-handed Y-up, 3DMax uses right-handed Z-up, Blender uses left-handed Z-up, and most VR systems use right-handed Y-up. There are as many "standards" as there are possibilities to orient a 3-axis coordinate system... ^^

You just need to make sure you figure out one consistent method to get the models from A to B in the orientation you prefer (e.g., by rotating the model, the pivot, adding additional transform nodes, etc. - no matter which solution works for you, it should always be done in the modelling program, not in Unity, to make your life easier when creating your scenes.), and then stick to it and prepare all your model in the same way. Unfortunately that's not always a simple task (for example, Max behaves differently if you export a single mesh as opposed to several objects).

What you need to ensure is that the position/rotation/scale values of the model asset in Unity have only neutral values (position 0/0/0, rotation 0/0/0, scale 1/1/1). Otherwise you will run into problems when editing your models once you placed them in your scenes.