One of the goals of rigging is to make animation easier. There are a number of ways to refine a character’s rig to make it easy to manipulate. You can use features such as constraints to control a skeleton, and add handles and grab points to make it easy to select parts of a character.
Constraints are a way to automatically control an object’s position, scale, or orientation. You’ll use constraints within a rig to do things like control the eyes or stick parts of the rig together without using hierarchies. Constraints are also useful when a character is interacting with the world: if a character lifts an object, you attach the object to the hand with a constraint.
An aim constraint constrains an object’s orientation so that it points at another object in the scene. Some people use it as an alternative to inverse kinematics: you could constrain a character’s wrist bone to always point at the hand, for example. Aim constraints are commonly used to control eye direction. If you constrain the eye to a helper object, the eye will always point at that object.
A point constraint causes one object to follow another. These are very handy when you want an object to move along with another object, but you don’t want to include the second object in the hierarchy. You might also use point constraints when you want a character to lift something or when you want to attach parts of a skeleton or character together.
Another type of constraint, sometimes called a vector constraint or pole vector constraint, forces the direction of an IK chain to follow another object. Point constraints are frequently used to control the direction of the knees of the character.
Grab Points and Handles
Skeletal animation is much easier when the animator can select just parts of the character. You can make parts easier to select by creating null objects that are placed as handles or grab points that the animator can use to manipulate the character. In stop-motion animation, a grab point is a hard point on a clay character that allows the animator to grab and move a joint without seriously deforming the clay. You can use grab points on digital characters as well, though in a slightly different context.
The feet and legs are a good example of areas where grab points come in handy. You could use the IK handles created by the software to manipulate the legs, but these handles are usually buried within the character’s mesh and can be hard to locate. To make it easier, you can create a grab point that is outside the mesh and easy to find—and moving the grab point will, in turn, move the IK handle.
Refining the Foot
This rig provides a good deal of control, but you still need to select up to four different objects to manipulate the foot. This can slow down the animation in two ways. First, the animator needs to select a different object. Second, the animator needs to switch from translation to rotation in order to pivot the foot.
To improve the rig, you can create three sliders near the grab point—heel roll, ball roll, and toe roll—and then connect these attributes to the rotation of the foot. You can accomplish this in several ways, as detailed in the next section.
Sliders and Custom Attributes
Some parts of the character, like the spine and fingers, are composed of many joints that move in unison. You can simplify the animation process by connecting the motion of these objects to a single object or slider.
Many packages also allow you to create custom attributes for objects within a scene. These are variables or numerical values that you can add to an object, and they work in much the same way as a slider. These attributes, however, are not objects; they are additional attributes that are added to an existing object in the scene.
This illustrationsslider controlling blink of eyeslider is an object that controls the blink of an eye. Some packages actually supply sliders that are part of the interface, such as these sliders that also control eye blink.
One of the more common places to place attributes is in the hand. The fingers of the hand comprise almost a dozen joints, and automating these joints can save the animator a lot of grief. Since fingers tend to bend uniformly, you can tie the rotation of the three joints to one attribute. Animating that attribute bends the finger.
Simply adding a slider object or extra attributes is not enough to control another object, however. These need to be connected in some way to your character. You can connect the attributes using set-driven keys or expressions.
Set-driven keys were initially developed for Alias | Wavefront’s Maya, but similar techniques have appeared in other packages as well. A set-driven key expands the concept of direct relationships by allowing you to alter the relationship between objects based on a user-defined curve.
For example, if you want the eyelids of a character to stop rotating once they are closed, you could use a set-driven key to limit the rotation. A really complex use would be tying all of the joints involved in walking to a slider. Moving one slider would then move the character through the walk cycle, and adjusting the rate of the slider would vary the rate of the walk. This might not be a very practical application, but it does demonstrate the potential of this tool.
Expressions are a way of automatically connecting parts of a scene or character. Instead of using a keyframe, you use an expression, which automatically calculates the animation data every time a new frame is encountered. Expressions can be used for the simple task of making one object follow another or for complex systems that create virtual control panels for your characters.
Expressions are powerful tools. You can use them to create complex motions that make animation much easier. You can also use them to create relationships among different parts of a character, so that when you move one part, the others follow along. Be careful with expressions, though, because you can easily overautomate a character, making it difficult to control and hard to animate in a natural-looking way.