Friday, March 16, 2012

VFX Back to Basics Series: 4. What is 3D animation?


This is part of a series on the basic elements of Visual Effects. Each post will talk about a certain element which is one of the basic bricks used for building VFX shots.

In this fourth post I will talk about 3D animation. Although it is difficult to demonstrate this by still images, I will use them to show certain principles.

A simple humanoid skeleton.

In one of the previous posts I talked about 3D modeling. Although it is not always necessary to animate models, they do get a lot more exciting when they are. Especially creatures and humans are calling out to be animated. Models can be hand animated by an animator or can be procedurally animated by computer simulations and automatic processes. 

Let's start with hand animated non deformable objects. To conveniently hand animate models it is necessary to build an animation rig. In short this process is called rigging. It enables the animator to take control over the movements of the object without having to worry about every individual vertex or polygon. Of course, when moving an object from point A to point B one does hardly need a rig. Just using the build in transform will do the trick. But when the model has several parts like a car with turning wheels and doors which can be opened and closed, just using the build in transforms will give the animator a hard time.

If we look closer at the example of a door we can discover that a real door has limits. It is impossible to open the door further than the hinge allows and a closed door fits firmly into the door socket. A door from a 3D model will rotate in any direction and will just penetrate the geometry around it. It cannot easily detect solid matter unless there is some collision detection going on. Collision detection is a simulation technique and is too complicated for something as simple as a door. Instead we can use a mini rig which limits the movement of the door and which shows only one handle so the animator immediately sees what can be animated.

A simple door with no rig. An animator could rotate it in any direction which is confusing and prone to errors.
A simple door with a simple rig. The door can now only rotate on its hinges and is limited by the closed position and open position. The circular handle makes it easy for the animator to animate and keyframe. 

Let's take this a step further and look at a human character. When a human moves there are hundreds of muscles contracting and relaxing. It is nearly impossible and usually not necessary to build every single muscle into a rig so it can be simplified a lot. There is the extra concern that the body changes shape when making movements. So the rig will be a bit more complicated. What defines the movement and the limits of a human is its skeleton and therefor most programs like Maya or 3D Max, have skeleton tools build in.

A skeleton in a 3D program is build out of a hierarchy of joints. There are two important principles when rigging up a skeleton for animation. They are called forward kinematics and inverse kinematics.
With forward kinematics each joint in the skeleton drives the joints further down the hierarchy. For example, when the torso rotates, the shoulders and arms will follow that rotation.
With inverse kinematics we rather control a child joint and the movement of the joints in between the child and the root will get automatically calculated by the computer. For example, hands get usually animated by this principle to save time. The elbow joint will automatically follow the movement of the hand where the child joint is the hand and the root joint is the shoulder. Inverse kinematics do require more setup as you also need to define the limits but save time during the animation process.

A short chain of joints which form up a skeleton.

An example of forward kinematics. The rotation of joint 1 will influence the joints down the hierarchy. The rotation of joint 2 will not influence joint 1 or the root.
An example of inverse kinematics. Moving the outer most joint will also control the rotation of the joints in between the outer most joint and the root joint.

Another issue when animating deformable objects like humans is that the skin has to follow the skeleton and has the possibility to stretch and deform when muscles bulge. We can solve this by a task called skinning. It connects the modeled mesh to the skeleton and defines how much the skeleton influences parts of that mesh. For example, when moving a shoulder, the mesh in the shoulder area will deform, maybe the neck will deform a bit too but the legs aren't influenced at all.

Once a rig has been set up it still has to be animated of course. The computer helps us out even when we are hand animating a character or object. The animator sets up certain key poses on the time line and the computer calculates the in between poses over time. This process is called keyframing and is extremely powerful as it makes animation smooth with minimal effort. You could compare it with classic drawn animation where the lead animator would set up the keyframes and the junior animators would draw the in between frames but in this case the computer takes the role of the junior animator. In the example of the door one would only have to key the position of a closed door on frame 1 and the open door on frame 20. When scrolling trough the time line from frame 1 to frame 20 the door will gradually open and has a different position on each frame.

Just as classic drawn animation there are many styles possible. For example, you can go for very cartoony style where there is a lot of squashing, stretching and exaggerated movements. This can require more complicated rigs. There is also the physical correct style where outside influences like gravity are important. Especially with this last style it is possible for the computer to lend us a hand.
Motion capture is such a tool. Instead of hand animating the character, an actor is used to give a performance and his movements will get recorded onto disk and transferred to a mesh. This can give highly realistic results but keep in mind that an animator usually has to tweak these results. Creatures like Gollem from The Lord of the Rings are animated this way.

Another type of animation are simulations. Breaking objects can be almost an impossible task to animate by hand when those objects consists of thousands of parts. Luckily there are tools to simulate these kind of events. The computer will calculate the interactions between each piece like collision detection and the forces of gravity and will move each object accordingly. Animating fluids and gasses is even a more specialized job and is usually not done by animators but by FX technical directors.

This concludes the fourth part of the VFX Back to Basics series.
Make sure to subscribe (at the top) or follow me on Twitter (check the link on the right) if you want to stay informed on the release of new posts.

In this series:

No comments: