Lab 8: Introduction to Skeletal Animation In Maya

Objective: To gain understanding and familiarity with a commonly-used animation technique within the Maya environment.

Getting Started With Maya Guide.

Fundamentally, skeletal animation is a simple idea: we have a model and we wish to control it in a relatively predictable manner. While it is conceivable that we could manipulate each vertex or control point directly and record the trajectory, it would be too difficult and time-consuming for anything but the most simple animations. Ideally, we would like to be able to manipulate our model just like we would a clothed mannequin; by moving the joints and having the cloth (our mesh in this analogy) move along with it. This is the essence of skeletal animation.

In skeletal animation, rather than manipulating each vertex or control point directly, we construct a skeleton for the model and manipulate it instead. More formally, a skeleton can be defined a tree hierarchy, where the nodes are joints and the edges represent bones between joints. Rotating one joint has the effect of rotating all descendant bones in the hierarchy about that joint. Below is an example image of skeleton superimposed on a NURBS model skin taken from the Using Maya guide.

Once we have our skeleton, we can attach our vertices or control points to the individual bones in process known as "skinning." This has the effect of causing our vertices to move along the bone it is attached to. Now we can directly manipulate the skeleton instead and the skeleton will do the job of manipulating the mesh. Clearly, manipulating 10-20 bones is far more ideal than 100,000 vertices.

There are a few subtleties however... if we assign a vertex to only one particular bone, we may end up with a "pinching" effect around joints (image below taken from the Getting Started With Maya guide). We can avoid this if we allow a vertex to be assigned to multiple bones at once and weight the contributions. Luckily for us, Maya provides an algorithm which will estimate the ideal weights given the skeleton and model (it performs a reasonable job, but usually requires a slight bit of reweighting for professional-grade results).

After we have skinned our model, the next task is to animate it. While there are a few different ways to animate our model, we will be only be looking at one particular method today: keyframing. Keyframing is the process by which we set our skeletons pose at specific instances in time, and then interpolate between these poses to construct our animation. Thus, the animator only needs to provide a limited number of keyframes to describe the motion of his character rather than recording a pose for each individual frame.

While keyframing will save us a lot of time, it is not the best technique. In fact, it can be downright difficult to recreate certain complex motions and maintain physical plausibility; thus, expert animators are often required to create and adjust the keyframes. Of course, expert animators are not cheap and cannot make a physical-plausible animation more realistic than real life, so most studios resort to motion capture and IK (inverse kinematics) to create animations for the skeleton.

For todays lab you will be the expert animator! Below, is the bare minimum of what you must do today to complete todays lab for full credit. If you would like to explore more, please do so! I would recommend exploring IK as it makes creating certain animations much easier.

1.) Model the human character that the skeleton will be bound to. If humans seem boring to you, try creating another articulated organism like a horse or snake (must have at least 5 joints). When modeling your character, I would recommend aligning it with the axes as much as possible, as in the first image, since it will make the modeling the bone-hierarchy in part 2 much easier.

2.) Construct a skeletal hierarchy and smooth skin it with the model from part 1. Smooth skinning will take your skeleton and attempt to perform a weighted assignment of the vertices or control points to the bones. The Using Maya > Character Setup > Building Skeletons section in the Using Maya Guide goes into greater detail.

3.) Create a realistic animation by posing your skinned skeleton and setting keyframes for the bones. Have your character perform some interesting physical activity such as running, walking, jumping, throwing a punch, kicking a soccer ball, ect... This process is detailed in the Using Maya > Keyframe Animation section.