I am using the quaternion rotation mode to rotate bones into poses for an animation. For some of my bones, when I increase the X value of the quaternion the bone rotates around the y axis instead. For other bones this does not happen.

I have set all my bone rolls to 0, in case that makes a difference. How can I make all of my bones rotate around the same axis when I modify the same value of their quaternion?


I have discovered that in pose mode bones use the vector from their head to their tail as the y axis and the roll affects the orientation of the x and z axes. Still looking for a way to change these to the global axes.

  • $\begingroup$ if you're not set on Quaternion, I can only recommend using euler, it's much more intuitive and easier to correct in the graph editor $\endgroup$
    – Spiderguy
    Commented Feb 15, 2014 at 6:52

2 Answers 2


You can recalculate roll, (Armature -> Bone Roll -> Recalculate Roll), or Shift+N

This can align bone roll to local or global space.

  • 1
    $\begingroup$ Shift+N in Blender 2.8 $\endgroup$
    – Dan
    Commented Nov 23, 2019 at 5:16

I've found a method which solves my problem, incase anyone else has the same: I seperate each of the bones and place the tail at the same x and z point with a y value greater than the head, then lock the position of the bones and set the roll to 0. This effectively sets the local axes to the same as the global.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .