|Secondary Motion 101|
***First of all...this is a non-research based tutorial...which means that I'll be using lots of terminology that is arbitrary to my own assumptions and therefore I could be totally wrong about some things....but I am writing from my own practice and experience so it shouldn't be too far off from the truth :)...anyways....
Today's lesson: the fundamentals behind secondary motion.
Why? Well...a lot of people have been asking me things like: What is secondary motion? What role should it play in my animations? How do you animate secondary motion? etc etc,
Now, I'm no professional by any long shot (go to Keith Lango's site for that sort of thing), but I do know a thing or two about physics, and the way things move in real life.
The Key: As stated by a balding genius many years ago whose name eludes me at the moment, "For every action, there is an equal reaction". By far, this is one of the most important things to remember when animating. Without remembering this very basic thing, your animation will lack proper weight and motion, and therefore will lack believability.
"But Tyson! How can I apply such an abstract idea to my animation???" Goooood question.
The idea is, that as animate things move around in world-space, there are some motions that can be controlled, and there are some motions that cannot be controlled. The motions that cannot be controlled (or at least controlled easily) fit nicely into the catagory of "secondary motion".
"But I still don't get it!" ...well then....that's why you're here! Let's jump right in and watch a little home-made video footage of my hand flopping around:
Oscar-winning clip (200k)
As you can see, my hand was pretty much just flopping around, as my arm and forearm rotated and moved around. In fact, because I was only moving the muscles in my arm and letting my hand muscles stay lax, the wobbly motion of my hand was completely the result of secondary motion (the "reaction" to the "action" of the primary motion of my arm). I had no control over my hand's motion.
This is the theory behind proper secondary motion. Secondary motion is all of the motion that comes as a result of the primary motion. Without secondary motion, all animation is robot and linear (and not the least bit organic).
So...without further rambling, let's get to some practical examples of implementing secondary motion in 3d studio max.
This is probably as simple as an example can get. Basically, we're going to animate the secondary motion of an animal's tail as it swings back and forth.
What you'll need is 3 bones (a total of 4 mouse clicks, followed by the deletion of the automatically created fourth bone--the end bone). Your incredibly complex, hi-poly scene should look something like this:
Now, at 20 frame increments, animate the bottom bone swinging 50 degrees from side to side. Your animation should look like this so far:
Swinging 1 (170 k)
Well...for a ticking metronome...it's Pixar quality animation...but for an animal's tail...it's a sight for sore eyes. Why is this? Well...there's no way that any animal would be able to keep its tail that rigid while swinging it back and forth. It simply wouldn't have the tail muscles to combat the intertia that would also be working on the movement of its tail. This is where secondary motion comes into play...yay!
....BUT! ....this is ALSO the point where the men/women of secondary motion are separated from the boys/girls of secondary motion. You see, there is a lot of effort that goes into PROPERLY animating secondary motion. It's not just a matter of making bone2 and bone3 move (as a result of the rotational keys set for bone1)....instead, it's a matter of making bones 2 and 3 move gracefully, realistically and logically in relation to bone 1.
Let me give an example of an IMPROPER way to implement secondary motion into this tail. Sadly, I see this type of secondary motion a lot in all aspects of different peoples' animations, and frankly, it looks terrible.
Improper Swing (170k)
The problem with an approach like this, is that even though the entire tail is now swinging back and forth (not just bone1), there is actually no secondary motion involved yet! You see, bone2 and bone3 still aren't affected by inertia, because inertia can't be seen "pulling" on them yet (you'll see what I mean by this in a minute). It's that invisible "pull" that makes secondary motion what it is. Simply put, the animation is still composed of ONLY primary motion.
So...let's go back to our metronome setup (with only bone1 animated so far)...only this time we're going to let inertia have its way with the tail. We'll start only with bone2 for now, to keep it simple. Here's what happens when we implement the proper secondary motion:
Swining 2 (170k)...note that the frame numbers have been stamped on this time for easy reference.
Although bone3 still hasn't been keyframed (so the movement still looks a bit odd because bone3 is stiff), the motion of bone2 looks MUCH more natural in combination with the motion of bone1. What's different? Well...let's take a look:
Frames 0-15: Notice that bone2 is actually bending in the opposite direction (right) that bone1 is bending (left). This is because bone1's rotational angle is accelerating faster than bone2 can keep up with...so bone 2 must first "catch up" with bone1. This "catching up" is what is happening during these frames.
Frames 15-30: Now we see the real power behind inertia. Notice that at frame 25 bone2 has actually rotated farther to the left than bone1. This is because now that bone2 has "caught up" with bone1's rotational angle, inertia wants to keep bone2 moving to the left (even though bone1 is now ready to move to the right to follow through with the back and forth motion of the tail). Because bone2's movement is now being powered by inertia (and not just by the pulling motion of bone1), bone2's motion can now be considered secondary (when compared to the primary motion of bone1). Also take note that between frames 15 and 25, bone1 is hardly rotating at all while bone2 is swinging quite widely to the left, once again illustrating the way secondary motion has taken a hold of bone2's rotational arc.
Frames 30-50: Once again, here we see how inertia is still flopping bone2 around, while bone1 is still swinging at a uniform pace. From frames 30-35, bone2 is playing "catch up" again with bone1 (ie, notice how bone2's rotation lags behind bone1's rotation). Then, from frames 35-50 we can see inertia doing its work again (bone2 wants to keep moving farther to the right, while bone1 is pulling it back to the left).
Once we pass frame 50, we go back to where we started and bone1 rotates all the over to the left once again.
Overall, it's that laggy, floppy motion that makes an animation believable (because, as illustrated in my hand video, we see things flopping around like that in real life). But...we're only half done because bone3 still hasn't been animated. Don't fret though, because to animate bone3 we just need to reapply the principles that we learned when animating bone2.
So...after throwing a couple of rotational keys onto bone3, here's what we've got:
Swinging 3 (170k)
See how bone3 is playing "catch up" with bone2 the same way bone2 was doing it to bone1? That's a result of inertia trying to "pull" those bones in the direction that they are moving (be it left or right) while bone1 (or the nearest parent bone) is trying to swing them back in the opposite direction. The key to secondary motion is that inertia will almost always cause an object to drag farther than the primary motion will take it.
Now...compare "swinging 3" to "improper swing". Obviously, you can see the difference. Mainly, bone2 and bone3 in "improper swing" don't feature the same "laggy" motion that's prevelant in "swining 3". It's not a great deal of difference keyframe-wise...but it is a great deal of difference visually.
"Ok great. But...I'm not animating a symmetrical 3-bone tail! I'm animating a __________..."
Well, what I've tried to explain with the tail example is the plain-english theory behind secondary motion....it's up to you to apply that theory to your own animations. But...I won't just drop the puck and leave you without a hockey stick....so here are some further examples to illustrate how secondary motion can fit into increasingly more complex animations:
The Sliding Box
An animated box slides up into view, pauses, and then takes off.
Secondary Motion Applied (100k)
The Bouncing Lamp
A desk lamp bounces up and down.
Secondary Motion Applied (140k)
The Waving Hand
A hand waves back and forth wildly (similar to the live-action hand video posted above).
Secondary Motion Applied (120k)
It's amazing what a difference a little secondary motion can make! It can change a poorly animated object into a lively, believable one...and once you learn the basics of secondary motion you can apply it to any animation at any time. So get practicing and start animating!
I hope this tutorial has helped you....and if so, feel free to email me your comments!