When working with animating a rig, quaternions are often used for rotations. However sometimes we need to clear rotation along given local axis of a joint. With quaternions it's not as simple as just clearing out one component of the quaternion. Doing this will clear out the rotation along that axis, but it will also affect rotation along other axes since the W value of quaternion is interdependent on all three axes.

Take Blender3D as example. You can key a euler rotation for a given joint. If you then are not satisfied with rotation along say Y axis, you could just remove Y rotation channel for the whole animation. With quaternions this does not work as well.

How do animators and riggers handle this problem?

  • $\begingroup$ You say with Euler angles you can just clear a given rotation but, AFAICS, with Euler you need to pre-choose the order the rotations are applied, e.g.let's assume X, then Y, then Z. Each of these would have an associated angle of rotation (for ease of description, let's assume it's in degrees) and these angles are Xa, Ya, and Za. What I don't understand is the claim that you can just 'remove' an arbitrary rotation about Y, because after Xa has been applied, the "Y" rotation is around a different frame of reference. If, e.g, Xa=90, then Y could now be pointing along the original Z axis. $\endgroup$
    – Simon F
    Aug 19 '19 at 11:09
  • 1
    $\begingroup$ @SimonF I thought I saw some animators do this in Blender3d, remove a specific euler rotation channel for specific bone from their animation and the rotation along other axes didn't get affected by it. Unfortunately I haven't done animations with euler angles myself to confirm this. Maybe I'm mistaken, because what you are saying makes sense, it shouldn't work. I'll have to check it myself. $\endgroup$ Aug 19 '19 at 12:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.