return to MAIN PAGE


The term keyframe is misleading and wrongheaded, and it should be dropped from every animator's working vocabulary. Does this idea sound crazy to you? Then by all means, read on...

There's a bug in the way your 3D software handles motion blur. Maybe you've noticed it.

Maybe you've noticed that the first and last frames of your animated sequences have only half the motion blur you'd expect, or that the last frame of your sequences have no motion blur at all. You've probably excused away this bug in your mind — "Of course there's a problem with the motion blur," you think. "What would you expect? The computer isn't a mind reader. It has to 'look ahead a frame' to calculate it, or it has to 'center on frame' and look a bit behind and a bit ahead to calculate it."

That's funny. Motion picture cameras don't have that problem. Why should your computer have it?

The short answer is: it shouldn't.

Consider a race track that is 600 units long, as shown below:

On this track let's place a rocket car that is so fast that it can traverse the course from start to finish in four (4) frames. Let's plot the position of the rocket car in each of those four frames. (and to simplify things, let's say the accelerations are instantaneous so that the eases are non-existent and the rate of motion for our purposes is linear)

Okay, let's begin. Frame 1 will be the rocket car at the beginning of the track. We know that much, right? We also know that Frame 4 will be the rocket car at the finish line. So Frame 2 and Frame 3 must be spaced evenly along the track between the start and finish lines, as depicted in the diagram below:

Are you with me so far? At frame 1, the car is at 0 units. At frame 2, the car is at 200 units. At frame 3, the car is at 400 units. And at frame 4, the car is at 600 units. Simple, right? Actually, this depiction of motion is commonplace, but completely wrong. For starters, where in this diagram do you plan to fit 4 motion-blurred streaks?

After all, the first streak cannot extend left of the starting line, and the fourth streak cannot extend right of the finish line.

Maybe you can solve this problem by dropping the first frame's motion blur — or dropping the last frame's blur, or by centering the blur over every frame's position, but with the additional measure of cutting off the first half of the first frame's blur, and the last half of the last frame's blur. Maybe you can hope that since real movie cameras typically have "180 degree shutters" that shorten the blur anyway, that you can 'kludge it in' somewhere and trust general confusion on the issue to save yourself.

Or you can do it right.


The problem with this line of thinking lies in the fact that frames are not points IN time, they are periods OF time. Although it remains in common usage, the very phrase "at frame 1" is semantically meaningless. You can no more say "at frame 1" than you can say "at September." Frames are big, fat windows of time. They begin when the shutter opens, and for the sake of this discussion they end (in our particular, idealized, theoretical CG camera) a 24th of a second later when the shutter closes. We need to talk about what happens not "at" a frame, but "during" a frame. Instead of thinking in terms of key poses as key frames, we should instead think of animation frames as being bracketed at beginning time and at end time by a pair of key poses.

With that having been said, let's look at our race again with fresh eyes.

This race is 600 units long, and it occurs in 4 time periods which we call frames. Simple arithmetic tells us that the car must therefore travel 150 units during each time period (that is, during each frame). It's as simple as that. End of story.

At time = zero, (not Frame 0, but time 0) which is 0 / 24ths of a second into the race, the shutter of Frame 1 opens. The car at this moment is zero units along the race track. As the time period we call frame 1 elapses, the car makes its way rapidly along the track. Frame 1 draws to a close at time = 1 / 24 seconds.


Let's zero an imaginary stopwatch, and consider in detail what happens during each frame, starting with Frame 1.

At time = 0.000, which is 0 / 24ths of a second into the race, the stopwatch is activated, and the shutter of Frame 1 opens. The car at this moment is at position A, zero units along the race track. Our stopwatch is marked in thousandths of a second, and those thousandths of a second flip merrily by as our stopwatch ticks away. As the time period we call Frame 1 progresses, the car makes its way rapidly along the track.

Measured in thousandths of a second, a frame is a long period of time, but Frame 1 finally draws to an end. The shutter closes at time = 1 / 24 seconds. (Our stopwatch reads 0.042 seconds) The car by the end of Frame 1 has already arrived at position B, 150 units along the track.

Frame 2 consists of the period of time that begins at 1 / 24th of a second, (0.042 seconds) and ends at 2 / 24ths of a second. (0.083 seconds) During Frame 2, the car travels from position B to position C.

Frame 3 consists of the period of time that begins at 2 / 24ths of a second, (0.083 seconds) and ends at 3 / 24ths of a second. (0.125 seconds) During Frame 3, the car travels from position C to position D.

Frame 4 consists of the period of time that begins at 3 / 24ths of a second, (0.125 seconds) and ends at 4 / 24ths of a second. (0.167 seconds) During Frame 4, the car travels from position D to position E.

You can throw in 180-degree shutters if you like — it will just shorten the lengths of the warm yellow ellipses in the diagram above and introduce gaps between them. It won't materially change the discussion. You can even shorten the open shutter time to the point where motion blur goes away. The correct positions of the car in that case for the four frames is B, C, D, and E, respectively. The image formed during Frame 1 would consist of the car at position B — already substantially out of the gate — not at the position A starting gate. Uncomfortable though this may make you, it is not a mistake, it is the true location of our car after Frame 1 has completed, and all the information about that frame is in, and the frame can be rendered.

This is not an "alternate interpretation" or a "trick of language" It is the only correct way to handle motion. Most CG programs get this wrong because they were written at a time when motion blur was computationally impractical — or because they were developed to mimic the thought processes of traditional stop-action and cel animators who, working without benefit of motion blur, also got it wrong, so the programmers didn't really think through the issues and they treated frames as if they were points in time instead of periods of time.

So what will this new knowledge gain you? Not much, really — just a little better understanding of why your software's motion blur looks the way it does. This problem, though deeply ingrained in the minds of most animators, is a minor off-by-one "fencepost error," so named because it is analgous to thinking of frames as vertical fence posts, rather than as the horizontal rails between them. Any positional discrepancies highlighted by this problem becomes less severe in direct proportion to the length of a sequence — and most sequences are much longer than 4 frames in duration.

And what are the consequences of working the wrong way? (Afterall, it didn't seem to hurt Ray Harryhausen or Chuck Jones) — Honestly, as a 3D CG animator you won't experience much in the way of consequences, just that funny little motion blur bug in your software package that you ignore or excuse away in the back of your mind.

Still, isn't it better to know the real deal?


[July 31, 2003]: Apparently this discussion about time in animation extends into the real world. According to research by Peter Lynds, a 27 year old broadcasting school tutor from Wellington, New Zealand, in the real world there actually are no such things as points in time, only intervals of time.


return to MAIN PAGE