Admit it-how many times have you walked out of some big budget special effects film shaking your head and muttering "how'd they do that?"
The usual expert answer is a vague "like, with computers, dude," while the "expert" brushes popcorn from his downy chin and nods sagely, proud of his superior inside knowledge.
Okay, with computers. But there's still that original question: How is it done with computers? Well, we're going to start looking at a few of the answers to that question, and hopefully the next time you stagger out of Alien XVII clutching at your stomach, you'll have some informed ideas about how all those loathsome monsters were able to disembowel their scores of victims so smoothly and believably.
In order to get an animated object into a film, it's first necessary to create an animated object. This requires a 3D modeling and animation package. Note that compound phrase "modeling and animation." There are many three-dimensional software packages out there, that enable you to create (model) objects that apparently possess depth, but they don't necessarily have the capability to make those virtual objects move.Again, there's more than one animation package, but the one that comes closest to being "industry standard" in Hollyweird-er, wood-is Maya, a product of Alias Software. Maya combines modeling and animation and rendering capabilities, all in one quite complex package that will run under either Linux or Windows (there's an OS X version, but the "Unlimited" edition of Maya [which contains more advanced textures and fluid effects] is for some reason not currently available on Macs).
Before you run down to your nearest computer store, money in hand, to grab yourself a copy of Maya to fool around with, bear in mind that this is highly specialized professional software and has several drawbacks for the interested amateur. The first is cost. I can't quote exact figures for this article since prices change constantly (check the Alias website for the current pricing), but suffice it to say that in my time I've paid less for a car than the amount for which a retail copy of Maya will set you back (does that date me?). Yes, there is educational pricing for those of us affiliated with educational institutions, but it's still a large chunk of cash. Another objection is complexity. Maya is not user-friendly, easy-to-run software. In fact, unless you already have some background in doing this sort of thing, it's not particularly intuitive. This is definitely not amateur-level stuff, and without being prepared to devote a lot of time and study to using it effectively, you're likely to be disappointed. And if that's not enough to make you think twice, Maya won't be even remotely happy on anything less than top-end hardware. At this writing, I'm running it on a Dell dual-Xeon 2.4Ghz Windows XP machine with 1G of memory, and there are still some operations that bog it down badly.
With those caveats, let's proceed with Maya through the basic steps involved in construction and animation of a special-effects animated object (called a "character" in Maya-speak, even if it isn't a character in the Donald Duck sense), so we can see how it's done.Getting Primitive
Construction of even the most sophisticated object begins with the creation of a basic geometric shape called a primitive. Primitives come in two flavors, polygons and NURBS (Non-rational Uniform B-Splines). The two are calculated differently, but in practical terms, for working within Maya, polygons are more flexible to work with, while NURBS objects give a smoother appearance. There's also a third category, subdivision primitives, which is used to model complex surfaces like human hands, but I'm not going to touch (pun intended) on that in this introductory essay.
We'll start by creating a simple polygon sphere. This screenshot (Figure 1) shows both the sphere and the Maya working environment:
Next, we'll create a polygon cylinder and move it into a position where we can attach it to the sphere (Figure 2):
Those arrowhead things sticking out of the cylinder are called manipulator handles, and they're used for positioning and resizing the selected objects in 3D space.
Using only cylinders and spheres, we proceed to create a jointed tripod (Figure 3):
If this contraption is starting to look familiar to some of you, it should. What we're building is a new and improved Martian War Machine, based upon illustrator Lou Cameron's famous rendering for the 1955 Classics Illustrated version of H. G. Wells' War of the Worlds. I'd reproduce it here, but with everyone so copyright-obsessed these days, I'd probably have a dozen lawyers panting down my neck before you could say "Martian mayhem." So I've included a URL pointer to it at the end of this article, and I recommend you check it out, as Cameron was a very talented guy.
Anyway, back to Maya. You'll notice that the central sphere (the "body" of the war machine) is somewhat flattened. This was done by using one of those object manipulators I told you about, the scale tool. Using it, the polygon sphere was squashed till it looked esthetically pleasing.
The "feet" are spheres that have been cut in half by creating a polygon sphere, then intersecting it with a polygon plane and using Maya's difference polygon operation. The effect of this was to slice the sphere neatly in half. Doing this three times gave us a set of Martian feet. The "ball joint" at the neck was created the same way. If you're beginning to get the suspicion that Maya's modeling tools aren't as easy to use as they might be, well, you're right. This ball-and-cylinder stuff is pretty basic, but complex modeling with Maya takes a lot of work and experience to master.
Next step is to add a control cab-or "head"-to the war machine. This was created by squashing a sphere, then slicing it at an angle with a plane. To give it thickness, we duplicate the sliced sphere and do another polygon-intersection operation, this time a union, to merge the two. (Figure 4):
Next comes a purple glass windshield to keep the squashed flies off the Martians' faces as they careen their war machines through the countryside, Wreaking Death and Destruction™. This is another polygon plane intersected with the hood opening and cut to shape with a Difference operation. After it's in place, we adjust its color and transparency properties (each object has a detailed list of editable properties) till it looks like a sheet of tinted glass. The glass isn't totally transparent, to keep the audience from noticing that there really aren't any Martians inside driving.
Of course, no war machine would be complete without a weapon, so we'll put a Martian Heat-Ray Cannon (read the book) in the center of the control cab. This is a combination of several primitive shapes, mainly spheres, cylinders and a cone. But you'll also notice toroids (doughnut shapes) at the base of the cannon's main ball-joint swivel and at the leading edge of the cannon. Those washer-shaped toroids at the nozzle are heat-dissipating fins, and they were made by creating Torus primitives, then shrinking them to size and flattening them with the Scale tool (Figure 5):
So now we have a mainly-constructed Martian War Machine (there are a couple of important parts left, but we'll get to them later). Are we ready to turn it loose on its unsuspecting victims? Nope. The problem at this stage is that all those primitive shapes are just floating there in 3D space, unconnected to each other. Move one, and it floats serenely away from the rest, like a fish losing touch with its schoolmates.Hanging Around the Joint
To make our model an animated model, the first step is to make sure all its parts hang together. This requires a bit of careful thought, for the model must be considered as a whole, and its movements planned logically and dynamically.
Looking at the War Machine, we can see that its various parts fall into several separate subassemblies. All movement of the heat-ray cannon, for example, centers about its spherical ball joint. Therefore, the ball joint is considered the parent of the other parts in the cannon assembly. To do this, select the various parts of the cannon and use Maya's Parent function to make the sphere the object to which they're serially connected. The same must be done for the leg assemblies, and the head unit.
This can be painstaking work, and when you're done it's understandable that you'd sit back and say "now is it ready to go?"
Alas, you must still meditate upon the virtue of patience, because it isn't. All of those movable groups must now be bound together by a movable framework.Skeleton in the Closet
This framework is called the skeleton of the character in Maya terminology. Going back to your consideration of how the character as a whole is constructed and moves, you must use the Joint Tool from the Animation menu to create a joint chain, a skeletal structure for each animated subassembly in the war machine. Again, this is a step requiring both planning and care in execution, for each joint of the skeleton must correspond to a physical joint in a character. And when each chain is completed, it must be made the parent of the objects which will move with it. None of this is trivial.
Once all the subunits have been given their joint chains, it's necessary to bind them all together at a single logical point, called the skeleton root. In the case of the Martian War Machine, the logical place for the root is within the flattened-sphere body section; all movement of the War Machine radiates from this point.
Tedious and painstaking as all this is, the War Machine is really a very simple structure to animate; complex "deformable" (flexible) assemblies like humans (or humanoids) are considerably more demanding.Gimme Some Skin
The only remotely sophisticated joint chain of the War Machine is the tentacles which hang from those two spheres on the lower "abdomen". Tentacles are supposed to be flexible, and jointing them like a dog's hind leg wouldn't make much sense. The steps involved are called smooth skinning and are used to animate deformable surfaces, like the skin of living creatures.
The tentacles were created from NURBS cones, stretched till they were long enough, then bound to a many-jointed skeleton (like a human spine) by smooth-skinning. Here's the War Machine in wireframe display, showing the left tentacle's surface only, and the right tentacle's surface plus its joint chain (Figure 6):
Now the tentacles are flexible enough to move in a properly menacing Martian way.Moving Forward
Okay, now are we finally ready to start moving this thing? In a word, no. Consider how your own arms and legs move. Lifting your foot off the ground also moves your knee and hip joints, and folds your leg in a way predetermined by the movement range of the knee. Likewise, even a mechanical construction like the War Machine cannot have legs and feet that simply move in any direction they please; the results would be pretty unrealistic.
To both automate the motion of the legs and make them move in a realistic way, we call upon a technique called inverse kinematics. This enables us to animate the legs as legs, and not simply as collections of independent parts.
Using IK requires that we create control structures called IK handles to control our joint chains. We select the beginning joint for the IK handle, then the ending joint, and Maya creates the handle itself. The connectors between the beginning and ending joints are visible in the Maya window, as are the handles themselves (Figure 7):
The IK handles can be seen as two green lines at 90° angles to each other in the "ankle" joint. The green line connecting the hip and ankle joints like a puppet's string is the kinematic control itself. There's also a white pointer at the hip joint, called a gnomon, whose purpose is to swivel the kinematic structure's movement in another direction if need be (if, for example, we needed the War Machine to walk sideways).
(Here's a little tip: Though legs should usually be manipulated with IK controls, feet are generally more realistically-though tediously-animated if left out of the IK chain.)
If you look closely, you can see that the tentacles and their joint chain also have IK handles and a kinematic control. This allows the tentacles to flex in a believable way, though for really fine control, we'd probably want to put an IK handle on each separate joint.Two, Four, Six, Eight-Now it's Time to Animate!
All right, we've designed a simple character, attached a skeleton to it, and applied IK controls to its legs. Now we can begin to animate. Using Maya's Move tool, we select the right leg's IK handle and lift it straight up into the air (Figure 8):
Notice how the leg flexes in a manner that seems natural to us humans. (Martians might have different ideas about what constitutes proper leg motion, but they make up a negligible percentage of the moviegoing audience).
So now that we've moved the leg, we enter Maya's Animation menu and set an animation key for it. That is, we tell Maya that this object must be in this position at this point in time. It's not conceptually unlike traditional stop-motion animation, except that you only have to designate the key frames; Maya keeps track of the frames in between keys. Just(!) keep on doing this until you're finished.
Here's a sequential view of the simple leg motion involved in taking a single step (Figure 9):
In this example, I defined keyframes for the leg assembly at each new position, each one twenty-four frames apart. Since standard frame rate is 24 frames per second, this give us a movement that takes three seconds to complete (starting from rest). Note also that in the last image, there's a rotational manipulator visible around the foot. I used this to bring the foot down level with the ground as the leg descends.Simple, isn't it?
No, not at all; in fact, this is the point at which the real work begins. In the first place, it isn't just the leg that needs to be animated, it's the entire body of the machine. The whole thing has to move in a coordinated and believable manner, including the swiveling control head, the movable heat cannon and the tentacles. And if you've never tried to make a three-legged machine walk convincingly, just give it a spin, and you'll see why there aren't any tripedal creatures in nature! The fact is, animating such imaginary constructions in a naturalistic way isn't something that can be picked up in a few minutes. It's really more of an art form than a technical accomplishment, and like all art forms, has to be learned with a lot of hard practice on top of pre-existing talent. Hey, if everybody could do it, the major studios wouldn't be paying big bucks for top animators!
And that's only the beginning. Mass also has to be taken into account, as do the effects of weight, planning each camera angle for maximum effect, and on and on and on. And we haven't even begun to talk about surface textures and the effects of lighting! We'll save that for Part Two: Rendering.Further Reading
NURBS vs. Polygons:
Lou Cameron's War of the Worlds illustration:
The Alias website (Maya):
How Maya was the centerpiece of The Return of the King: