I’ve found that a prefab in the scene can lose the correct transform orientations.
I’d appreciate if someone could verify and/or assist in case I’m doing something wrong…
Here is a simple EXAMPLE of the issue. Just follow along step-by step:
-
Create a new scene and place a
simple Unity cube in the scene. -
In the inspector for the cube, let’s
change the scale of x to 2 and scale
of z to 4, just to break up the
symmetry of the object. -
Let’s imagine this is an imported object
from an external program and that it
needs to be rotated by 90 deg to get
it oriented correctly in the scene.
So, in the inspector, change the
rotation of x to 270 deg. This cube
is now ready to demonstrate the
problem. -
Just wiggle the angles
in the inspector and observe the
cube’s motion: wiggle x and it
rotates correctly.
However, wiggling y or z rotates only the z-axis.
Even worse, try rotating the y-axis using the gimbal in the scene view while observing the values in the inspector. Everything goes berserk, and y angle seems to ‘jump’ around.
(BTW You can pick any combo of ‘local/global and center/pivot’ - they have no effect. But if you have the local axis and pivot selected, the rotations should correspond with the coordinate system on screen.)
Try playing with the angles, by setting each angle to 45 deg keeping the rest to 0, or
setting all angles to 45 deg — then wiggle each value observing the result.
It is as if the transform gets corrupted and doesn’t keep all the directions consistently in the correct domain.
Can you reproduce this? Did you find the same problem?
I believe it has something to do with the order in which rotations are being calculated.