MG SRc="tony.jpg"> Bergeron
This paper was part of a tutorial on animation and outlines a method of doing character animation. The example is a very well known piece of animation, "Tony de Peltrie", about a piano player who is recollecting his glory days when he was in demand and popular. Tony is not all that life-like in apprearance, but the animation is so realistic that by the end of the short, you are really feeling for him.
The animation was done on a 3-D interactive graphics system, TAARNA, which has been designed for use by people with no computer background. To animate the character, there were two major things that had to be done. Firstly, the facial expressions need to be defined (muscle movements) and secondly, the body motions (skeletal movements) must be layed out.
To get the required realism in the facial expressions, the animators photographed a real person doing 28 different facial expressions. The model had a grid of dark lines drawn on his face to correspond with the control points which would be on the animated figure. Only 20 of the photographs were digitised as the difference between some expressions is to small to warrant the time it would take to put them in. An example is the similarity between facial positions for "m" and for "b". A clay model was made of Tony and a control grid was drawn onto it. The model was then photographed and digitised. The animators manually went through and matched up corresponding control points. This was not a simple matter as the grid on Tony's face had a lot more points than the human model so a one to many relationship between the points had to be created. This caused a few problems with the animation which had to be ironed out later on.
Bergeron used an algorithm by Kochanek (SIGGRAPH, 1984) for interpolating between keyframes. This gave the freedom to choose and combine expressions and reduce or exaggerate them for added effect. The speech sequence was recorded onto tape, then the timing for the speech was noted. The timings for the speech were copied onto dope sheets and then the synchronising of speech was done using techniques very similar to traditional cell animation.
For the other parts of the face, a similar approach was taken although there weren't as many key positions to record. For the eyebrows there were three positions, and for the eyelids, there were four positions.
The body of Tony was modelled with clay and then digitised as had been done with his head. The skeletal data, the hierarchy of body parts and where they bend, was done through TAARNA. TAARNA has five commands for skeletal manipulation: bend, twist, pivot, stretch and rotate. For each of these commands, the limb, the point of movement, and the degree of movement need to be given. The animator has to check that the movements are valid as TAARNA doesn't check for impossible movements. To animate the body, there were three stages to be worked through. These stages are: specifying the key positions, interpolating between the key positions, and fitting the 3D model on each interpolated skeleton. This fitting includes putting the clothes on Tony and making wrinkles in the clothes when the body moves.
Computer animators are finding more and more ways of using artificial intelligence in their work. This is very much the case in the area of character animation. To do a typical piece of animation, the steps involved are: modelling, animation, rendering and post-production. The step in which artificial intelligence can be most useful is undoubtably the animation step. To automate the animation process, the animator must rely on the availability of higher and higher levels of control of the elements in the scene. Hopefully the animator can give the package a set of rules to go by and the package will do the mundane tasks, like inbetweening, leaving the animator free to go on working. It shouldn't really be necessary for the animator to explicitly specify every movement in the scene.
There are many areas in animation that could benefit greatly by the use of artificial intelligence in their implementation. For facial expressions, the face could be broken down into its component parts and those parts could be manipulated using macros. This would also control the parts of the face that influence each other. For example, the eyelids moving when a person looks up. Character animation automation would give animators the ability to give a overall body animation and then progressively refine it to reach the final product. The animator should be able to simply define rules for the animation of a character, and not have to explicitly spell out every movement of that character. There are formalised rules for the animation of characters in cartoons. These rules could quite easily be put into an animation system and be done automatically rather than the animator having to consciously abide by them in each sequence that is done.
There is much research being done in the area of collision detection. As there is almost always more than on animated character in a cartoon, the chances of contact between the elements in a scene are quite high. Automating the detection of these collisions and following them to their physically proper resting place would ease the load on the animator considerably. Obviously, there is a lot more work that can be done in this area of computer graphics to save the artists from wasting their time doing menial tasks when doing animation.
This article gives an informal description of the author's method of character animation. He uses two graphics systems: S-Geometry for space-related work (modelling) and S-Dynamics for time-related work (animation). Bergeron shows how he went about animating two characters: Stanley the Bird and Stella the Fish. The paper is intended to give an idea of the techniques involved in animating characters, and doesn't give information about how to convey emotion.
Bergeron gives a description of how the characters were created. Although this may not be seen as part of the technique of animating characters, it is important as the design and structure of the characters determines what you can do with them. The characters are built up using the S-Geometry system which has a menu/window user interface. The system has two types of objects: primitive, which cannot be decomposed, and non-primitive, which are lists of primitive objects. An eyeball is a primitive object, whereas an eye is non-primitive as it is made up of the eyeball, eyelids and eyelashes.
The first step in creating each character was to make the body. For both characters, the body was made up of a set of control points from which a spline surface was created. From there, the primitive objects for the different body parts were built and then linked up into a heirarchy. This creates a non-primitive object which knows that "the foot bone's connected to the ankle bone".
With the structure set up, the animator can move on to setting up the facial expressions and doing the animation. To set up the facial expressions, the animator has to define the area affected, and how it is affected. S-Geometry has magnets to set up the parameters for transforming the vertices to simulate body movements. An example of opening and closing Stanley's mouth is given. These basic movements are called primitive displacements and can be combined to make macro displacements, eg. happy/sad faces.
The character animation is done using the S-Dynamics system. It uses scripts of heirachical movement sequences to define the movement of all objects in the scene. The cameras, lights and all characters have their movement for each scene concisely described in the non-primitive sequence. The animator only has to mention a movement if it is independent of all the other movements. This is because the heirarchy set up in S-Geometry gives the system enough imformation to know things like: raising an arm means moving all its components (hand etc.) The facial animation is a bit trickier as the animator needs to not only tell the character to smile, for example, but also how wide the smile must be. The S-Dynamics system is able to work with percentages of expressions going through curves depicting the current strength of that expression. These movement curves need to be made for each part of the face and can be combined to form more complex expressions.