Double keying

Now changing interpolation types is all well and good, but if you're trying to concentrate on animating your character, moving between your 3d view and the channel editor can become distracting, or at least it is for me.

What I tend to do is double key. This might appear to be a messier way of achieving the same result, but it's faster in the long run.

Here's the problem curve, as it was before we fixed it:

Now if we put two keys at each end of the 'hold' areas, look what happens:

Using two keys at each end of the problem area 'pins down' the curve so the object won't drift. If you want to know why this works, read this explanation.

The advantage of using this method is you can double-key while working in your main viewport, and not have to open a channel editor. When you're moving your object around, and it's come to a point in time where it has to stay still, position it, then ctrl-c to copy the key. Advance one frame (+ on your keyboard), and ctrl-v to paste the key. You've now done one end of the double key. Now move forward in time to where the object will leave the current position, and paste the key again. Go back one frame, and paste it one last time. Between these two double keys, the object will not move. So those steps again:

So after all that, here's the completed jump, with the feet locked in place:

(double click to start playing, single click to pause, use left and right arrow keys to move frame by frame)

What's that? You still don't know why this tut should've been called 'avoiding channel/spline drift' rather than key drift? It's because the keys never drift at all, once you set a key, it's locked in. It's the spline trying to move smoothly between each key that's drifting. If you were to look at only the key frames in isolation, you'd see the motion looks fine, so to accuse the keys of drifting is wrong. But I think key drift sounds snappier, so it's staying that way.

=) 1