Animating Drastic (180+ deg) Rotation/Direction Changes

What are “best practices” when it comes to drastically changing a character’s direction of movement?

When I try to have a character turn in place or fall down, I run into problems keeping rotation consistent. For example, going into a walk after a 180 degree turn, whether I zero out IK feet with CTRL+R/G/S, or just directly edit the necessary rotations and locations (usually setting Loc Z and Rot X and Y to zero) in the Transform Properties menu to get them to snap back to the floor, I end up with some really mad flipping when I switch from Constant interpolation to Linear or Bezier.

I figure this must be because the keys are telling the bone to rotate ‘the shortest distance’ to the next key, rather than continuing to rotate ‘forward’ from the previous key, causing it to jump back past zero. But what’s the right way to fix it? I’ve yet to ever clean animation using the IPO editor (or touch it, for that matter) – is this where I’ll need to go to correct stuff like this? Where do I start?

I did a quick example just now to illustrate. This was blocked in Constant, then just to be safe I keyed all bones on each blocked frame, and then switched everything to Linear. Scrub through frames 15-18 to see the effect I’m talking about.

http://www.pasteall.org/blend/539

(Didn’t realize until afterward that this rig is 2MB!)

hey bunny,

I just recently finished an animation for Blender Animation Challenge #5 which is a skateboard theme… so there are lots of flips, twists, and somersaults that needed to be smooth. It was tricky, but I think I’m starting to understand how to do it now.

The culprit in question is the quaternion rotations used for the bones of the armature. I learned how to work with them from this thread, so hopefully it can help you too :slight_smile:

(There are excellent example files to play with, so be sure to check for attachments!)