- Home /
Has anyone noticed Unity's world axis is flipped relative to modelling apps?
Hi
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?
Thanks
no compelling reason to close this question (versus the 50,000 utterly useless questions on this site); it's a critical question and has a great answer
Answer by Wolfram · Feb 02, 2011 at 10:45 AM
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.
Great answer, thank a lot, I had no idea there were different standards like that. I've made sure the transform is done in C4D. For some models I need a left-hanf and right-hand version. I was considering having only one and flipping the X-scale for the other. As long as I'm aware of this, is it likely to cause any problems or affect efficiency?
You need to keep in $$anonymous$$d that flipping the X-scaling will mirror your object. If that is O$$anonymous$$ for you and doesn't hav any undesired side-effects (incorrect normal orientations, showing backface ins$$anonymous$$d of frontface, inverted animations, or similar), it can work. Another method would be to rotate your models (or pivots) by 180 degrees around Y. This has the same effect of "maintaining" the original Z-orientation, but without scaling by -1.
Blender use right-handed Z-up coordinate system, not left-handed.
quite right, a rarely intelligent answer, seen on the internet! it must be Christmas