I understand that Blender uses quaternions for internal evaluation of rotation angles, which suggests to me that it is not prone to gimbal lock despite the fact it uses Euler angles in the IPOs. For those who don’t know what gimbal lock is, it’s basically when a sequence of rotations happens while evaluating angles with the Euler representations (i.e. traditional x, y, z rotations) where one of the axis rotations cause two axes to line up.

This is common when the rotations are evaluated in x, y, z order and the y rotation is +/- 90 degrees thus causing the z axis to align with the x axis. This subsequently takes away a degree of freedom. Now, even if Blender is not susceptible, I know for a fact that Maya is because it still relies on the Euler method. So, I was wondering if, when modelling a character, I should follow the same practise that you have to in Maya by aligning each of the z directions of the local axes along the armatures.

The reason for this is because if I try to export my armatures into Maya, surely despite the fact that Blender won’t have a problem, Maya may well reach a state of gimbal lock and I would be stuck. The obvious solution is to never use Maya but if I have walk/run/jump cycles built in Blender and if I have to use Maya in a production company, how would I get round this issue.

Just as an aside, BTW, I also noticed that when I import my models from Maya, they are the wrong way up. Maya uses Y for its up axis but Blender uses Z. Now, I rotated the models fine but I discovered that all the local axes of the vertices are the wrong way round - is there a way to fix this?