It has been rather famously said (at least in the circles in which computer animators work) that it was JRR Tolkien's personal wish that his Lord of the Rings books not be made into feature films until the potential existed to make them believably and wholly, with respect to the creatures and environments which are such integral parts of his worlds. With the advent of computer animation, we - that is anyone with the most remote access to a cinema and the means to finance a cinema ticket - have been witness to one of the most remarkable visual feats ever constructed in the form of the Lord of the Rings trilogy of movies. Largely constructed digitally by computer animation and effects company WETA, based in New Zealand, we have witnessed the apotheosis (so far) of what may come to be the single most defining characteristic of film in the 21st Century: the ability to visually illustrate, believably and seamlessly, literally anything.
Apart from the obvious application to science fiction and fantasy (not to mention the new generation of exclusively digital films, such as anything by Pixar, and interestingly, Sky Captain and the World of Tomorrow), this new capacity has allowed many other types of films to be made that probably never would have been practical otherwise, such as The Perfect Storm, and, in the really odd category, The Hours, in which Nicole Kidman's nose was digitally altered in many scenes. Unfortunately, Hollywood has not yet learned the altogether integral truth that just because something looks real doesn't mean that it is believable, or more importantly, worth looking at, and the result has been a plethora of movies (see The Day After Tomorrow) with arguably less plot substance than visual wow.
In the Beginning was Tron...
And it was good. And bad. It all depended on who you asked. The 1982 Disney movie starred Jeff Bridges as a human being inadvertently trapped in a computer reality populated by 'living' programs and ruled by inviolate binary code. Visually, the computer animation of Tron was simple, but by setting the action in a computer world, the film's creators were able to avoid the criticisms that the animation didn't look 'real'. It didn't need to look real. In fact, the block-like, primitive models arguably worked well for the environment in which they supposedly existed. The 'good' was that Tron introduced filmgoers to a cinematic visual that didn't actually exist as a set, or a miniature, or in fact as anything other than a vast array of ones and zeroes on a computer somewhere. The 'bad' was that the movie industry now saw computer animation technique as essentially typecast, by its technical restrictions, as simply looking like Tron. Despite this, two years later, The Last Starfighter, a sci-fi adventure movie produced by Universal Pictures, attempted arguably the first realistic computer-generated (or CG) backgrounds, vehicles and sets for its space battle sequences.
The following year, Young Sherlock Holmes, directed by Chris Columbus, made very effective use of CG content by putting the first completely computer animated character onscreen. In a dream sequence, Young Holmes is confronted with a knight that jumps out of a stained-glass window, retaining its flat shape and even its transparency and reflectivity (there is some irony in the fact that the first fully animated 3D figure was, essentially, two-dimensional).
1989's The Abyss and 1991's Terminator 2, both directed by James Cameron, each utilised ever-advancing CG techniques and capabilities, creating, in The Abyss, the first metamorphosing (or 'morphing' in tech lingo) humanoid shapes, and in Terminator 2, the first fully-integrated human character (the T-1000 liquid metal robot).
And then Came Dinosaurs
When Jurassic Park, one of the first films to utilise computer-generated figures as essential characters, premiered in 1993, the first thing the world of movie watchers said was 'holy crap!' followed closely by a slightly puzzled 'How'd they do that?' Interestingly, as we have all now been inundated with amazing computer-animated gizmos in everything from films to advertisements for jelly, that question seems to have been asked less and less. The sheer over-use of a trick that was, at first, truly amazing, has resulted in the sense that computer animation must, in fact, be really pretty simple and about as exciting as pushing a button on your computer keyboard marked 'make dinosaur', and then another one marked 'make dinosaur dance and sell jelly'.
This entry is for those who still scratch their heads and, after saying 'holy crap!' and 'why should that dinosaur, never having seen a human being, much less one that might possibly be interested in purchasing jelly, be so keen on introducing the one to the other?' still ask 'How'd they do that?' Conceptually, computer animation isn't particularly difficult to understand (though it can be disastrously difficult to pull off). Here we shall attempt to break down the basic steps.
Step One: Modelling
One of the thrills of being a computer artist is essentially the hedonistic and slightly perverse ability to be a god in the universe of cyberspace. It's possible to start with nothing - literally, empty three-dimensional digital space - and create anything. This, the modelling phase, is done in a variety of ways, but the primary method is by introducing simple geometric shapes, called primitives, into that empty space. Generally, cubes, cones, cylinders, and spheres are the shapes to start with. These primitives are stock elements built into any 3D modelling program and can be placed in the 3D environment by the clicking of a button or two. The most basic type of computer geometry is polygonal, which we shall examine in the next paragraph. For information on other types of computer geometry, see: NURBS, cardinal splines, and subdivision surfaces.
A primitive, mathematically, is made of three components: the points in space that define its shape (think of the corners of a cube), the lines that connect those points (like a connect-the-dots picture in 3D), and the facets that fill the lines (like the pieces of coloured glass in a stained-glass window). When viewed together, these form the illusion of a solid shape. Starting with primitives, more complex models can be built either by sticking more primitives on (think of a snowman) or by adding and then moving around more points and lines to a primitive to alter its shape. Think of any of the characters from, say, the film Toy Story: as complex as they may be, each of these characters started as a simple geometric mesh and was simply sculpted into shape by the addition and movement of more points and lines in space. The final result is rather like a float in a parade: a computer-generated wire mesh, hollow inside, pasted over with colour and texture to give it the appearance of being solid. Which brings us to...
Step Two: Texturing
Once a model is completed, it generally appears in 3D space as if made of grey clay. Texturing is what gives it colour and defines whether it is shiny, dull, reflective, or covered in light brown Hessian wall-weave. This is done in two ways. The first and simplest way is simply to tell the computer, via the 3D modelling interface, 'See this sphere I made here? Make it red, shiny and a little bumpy all over. It's a dodge ball.' The computer knows generally how to do these things. It doesn't know what a dodge ball is, but it now knows what one looks like. Good enough. This is generally called a procedural shader, since it is accomplished by procedures built right into the 3D modelling application.
The other method is to take a 2-dimensional image and essentially wrap it around the model much like wrapping paper on a box of smoked sausages. Imagine, for instance, that the animator needed his dodge ball model to have the words 'I am a dodge ball' printed on it. This is much more complicated than just saying 'the sphere is red, etc'. So the animator would either scan or digitally create a 2-dimensional image of the words 'I am a dodge ball' printed on a red background. The animator saves this digital image and then tells the computer to apply this image to the sphere shape in 3D space. Assuring that the 2D image wraps around the sphere in a way that is legible can tend to be rather nerve-wracking, and since the computer can't read, it is generally up to the animator to tweak and pull the image in a fairly complicated way to make it fit the 3D object properly. This practice is called UV-mapping (U and V being the horizontal and vertical coordinates, rather like latitudes and longitudes, that determine how the 2D image covers the 3D model) and is an art unto itself. The final shader is generally called a textural shader, and is probably more often used than procedural shading. Using textural shading, an image of a person's face can be mapped onto a model of their head to make very realistic figures, and on a simpler scale, images of buildings can be mapped onto cubes to make very complicated-looking city scenes out of very simple geometric shapes. Textural shading is used extensively in computer games to imply great detail with very basic geometries, thus enabling the computer to manipulate scenes quickly and smoothly.
Step Three: Animating
Making objects move in a computer-generated environment is simply a matter of defining where the objects are at any point along a set timeline. For instance, the animator tells the computer that at frame one on the timeline the dodge ball is on the floor (position one), and at frame 30 the dodge ball is two virtual metres off the floor and two virtual metres to the left (position two). If the animator were to play that animation, he or she would see the computer move the ball from position one to position two over the course of 30 frames, which would generally be about a second. If the animator wanted the ball to gently arc between positions one and two, he would need to explain to the computer details such as the height of the arc, where the apex of the arc occurred, any variations in speed along the curve of the arc, and so on. This is the simplest form of animating, and is called keyframe animation, since the computer is simply moving the object between points defined by the animators' markers, or keys.
Character animation, though the same in principle, is more complicated, since it involves moving parts of a model (arms, legs, tentacles, eye-stalks, etc.) while other parts remain still, or even worse, move in completely different directions. As in biological life, this is accomplished using skeletons. A simple (relatively speaking) set of jointed geometric bones is built and conformed to the 3D model and then the mesh of the model is attached to the skeleton. Thus, any movements made by the skeleton change the shape of the geometric mesh attached to it. Using keyframe animation, then, the skeleton can be posed over time, resulting in blends from pose to pose that imitate any action or antic the animator desires.
Keyframe animation, as described above on either a skeletal or object basis, makes up one of two primary approaches to animation. The keyframe approach is most akin to puppetry, in the sense that the animator controls and implements all movements. The second approach could best be described as dynamic animation, and is more easily visualised as dominoes. Think of those interestingly patient people who take thousands of dominoes and carefully set them on end, one next to another, forming long, complicated lines and rows and marching columns of upright dominoes. Hours and days may be spent on the setting up process, in preparation for that one trembling moment when someone tips over the first domino and starts the whole chain reaction, which, having been planned carefully for this purpose, executes itself. This is essentially how dynamic animation works, and is best seen in movies like Twister and The Perfect Storm, in which wildly random forces, such as the destruction of buildings or raging ocean waves, must be shown.
You can imagine that keyframing the trajectory of every shingle and plank of a tornado-ravaged barn would be mind-numbing and time-intensive work, even if it could be done believably in that fashion. Instead, rather like the dominoes stacked carefully in rows and then set loose, many computer animation applications include the ability to create virtual dynamic forces, which can be tweaked, adjusted, and then set loose independently to act upon the models in a given scene. Gravity, wind, vortexes, repulsion, collisions, and friction are all examples of forces that can be set loose and, to some degree, manipulated in a 3D environment, allowing for a wide variety of apparently random and believably chaotic effects.
Another form of dynamic animation can be applied to mobs of characters to create random behaviours within the group. WETA, in order to create enormous crowds of orcs for the battle sequences of Lord of the Rings, wrote a program called 'Massive' which works within the 3D environment to give a degree of basic intelligence to every individual character model in a 3D scene. Rather than hand-keyframing the actions of each of thousands of orcs, the animators at WETA were able to describe certain goals and possible behaviours for the figures and simply set them loose. The models were able to virtually hear and respond to movements around them, engage in battle animations with each other, sense proximity and collision with other figures, and move within those parameters to accomplish a defined goal, such as approach and breach the wall of the keep. As with any other types of dynamic animation, unexpected results often occur. For instance, in a test of Massive, with a field of hundreds of battling orc models, the animators were surprised to see several figures actually retreating, which was not a behaviour they had programmed as an option. This was merely an error in the starting orientations of some of the orc models, but the result was surprisingly chaotic and realistic.
Motion capture technology, or MOCAP, could also be described as a form of dynamic animation. With this technology, human beings or animals perform actions while wearing suits covered with motion-sensing nodes. The motions of the actors are recorded by a computer and then applied, joint for joint, to a computer-modelled figure. The result can be very lifelike movements and animations in much less time than it would take to keyframe the same animations. Generally, however, much tweaking of the animations must be done by the animators to assure the recorded motions perfectly fit the computer-generated character.
Step Four: Rendering
Finally, once the model is built, textured, and animated in 3D space on the animator's computer, it needs to be converted into 2D footage that can be manipulated into a film. A virtual film camera is placed in the 3D space along with the animated model and, looking through it, the animator determines the angles from which the model will be, essentially, filmed. Once this is determined, the computer, using the virtual camera as its point-of-view, begins drawing each frame of the timeline as a single, fully detailed image. These images are saved in the computer in a numbered sequence, which when lined up and displayed in a timed order (30 frames per second for television, 24 for film), form the final footage of the movie.
And that is, in the barest form, the essential workflow for computer animation. This, of course, ignores many of the finer detail elements, such as virtual lighting, shadow creation, camera animation, particles and particle physics and so on; however, understanding the above, the reader can probably get an inkling of how these elements might conceivably be applied and used.
I Know how They did That!
So from now on, when you see yet another dancing vacuum cleaner or one more disastrous onslaught of hyperbolic natural forces on New York, apart from just being inured to the effect by the sheer amount of applications in which it is used, you can also say to yourself that the texturing was sub-par, the animation was a little light on its feet, and that you caught the edges of a few of the polygons here and there. Having satisfied yourself that you no longer have to ask 'how the hell did they do that?' you can then legitimately concern yourself with questions of much greater importance, such as 'how much did they get paid to do that?'