Bringing Characters to Life
Figure 1: Rigged Bot in Alley Scene by Pro-Cad.net
When we reach the point of rigging a character it can be exciting. We've completed our character mesh and have imagined our character posed or animated. Now we want to build a control rig structured to deform and animate our character in believable ways. This article is an introduction to constructing a rig to ensure we get fluid control and proper deformations needed to bring our characters and scenes to life.
When constructing our character we'll want to build it in a manner that's easy to rig. For most characters, this typically involves the Vitruvian Man pose, with arms and fingers spread out. If we're confident our mesh is easy to rig and clean, then we'll want to familiarize ourselves with the following tools to begin the rigging process.
1) Bone Tools – The Bone Tools consist of the various tools needed to construct a skeleton (aka control rig).
Figure 2: Bone tools
2) History-Independent IK (HIIK) Solver – We'll use this tool to determine how the bones will connect and react to each other.
Figure 3: HIIK Solver
3) Position Constraints – This constraint causes an object to follow the position of a target object.
4) Lookat Constraints – The Lookat Constraint controls an object’s orientation, so that it's always "looking" at another object.
5) Orientation Constraints – The Orientation Constraint causes an object's orientation to follow the orientation of another object.
Figure 4: Constraints
6) Xray Objects – Setting an object to appear transparent.
Figure 5: Making objects “see through” (Xray)
I'd recommend placing these tools in a custom quad menu or toolbar. Items 1 through 5 can be accessed in the Action List box located in the Customize User Interface -> Quads tab. For item 6, either construct a macro or simply select the object->right click and choose Properties->check "See Through."
Next we'll need to establish some layers to help with the rigging process. We'll need a layer for the character's mesh, a layer for control objects, one for envelope objects (or bones), and finally one for hidden objects used to assist in the rig’s development and structure, but which cannot be removed from the scene.
Figure 6: Layers
Next, we'll "Xray" our character and freeze it to ensure it remains safe while constructing the rig. We can freeze simply by selecting our mesh, right-clicking, then choose freeze or use the layer control. To ensure we construct our rig with consideration for proper deformation, we'll want to work with wireframe on, placing our bone ends in locations where deformations may occur in natural locations along the mesh.
Step 1 - Working with Bones
Let’s start with the leg. We'll begin constructing our "chain" or bone structure by working from the side leg view. Open the Bone Tools and select "Create Bones."
We'll begin the bones at the hip, and then select the knee, the ankle, the ball of the foot, then finally the toe. Right-click to finish. Regardless of the orientation of the leg of our character, ensure when selecting the knee that the joint is slightly bent toward the direction the knee will actually bend. If we make an error in the location, we can select "Bone Edit Mode" in the Bone Tools and edit the bones and joints as needed. Finally, we switch to front view and ensure the bones are centered in our leg. Be sure to name your bones appropriately (e.g., Bone_Left_Thigh, Bone_Left_Shin, etc). To complete the other leg, we simply select the bone tools and choose "mirror." Be sure to rename the new bones to something appropriate.
Figure 7: Bone placement
To complete the leg we'll add the History-Independent IK Solver by selecting thigh, and then tying it to the ankle. We can now select the IK solver cross hairs at the ankle; move it and begin to see how our leg will move in relationship to the ankle. Be sure to name the IK Solver objects to something more appropriate than the default.
Figure 8: IK Solver
Offering side, front, and back "fins" with taper options, 3ds Max® bones allows us to manipulate our bones to better fit the character’s structure. This allows us to better visualize our character when our mesh is frozen and it assists in painting weights. We’ll eventually discuss painting weights, a process where we tie the character mesh to the bone structure itself, ensuring it deforms in believable ways. We first focus on one leg, then use the Bone Tools to copy those to the opposite leg. Unfortunately the Bone Tools doesn't flip the values for the mirrored bones so we'll need to manually switch the front, back, and side distances as needed.
Figure 9A: Fins
Figure 9B: Fin copy
The IK solver gave us basic control of the leg, but we'll want to have more control over the foot. Any object can be used to act as additional control, but I've found most enjoy using Point Helpers located under the Helpers icon on the Create tab in the Command panel. For each foot, we'll need four Point Helpers. We'll need the helpers aligned with the proper bones and placed in the proper locations.
The image in Figure 10 and the information below helps outline the orientations and positions for each helper. To orient the helper, select the helper then use Alt + A, select align X,Y,Z and then choose the appropriate bone to align it to. Finally, use Shift + A to quick snap objects to the appropriate bone locations. Following that, we simply link the ankle helper to the ball helper, the ball helper to the toe helper, then finally the toe helper to the heel helper. Remember to rename the helpers to something more appropriate.
Figure 10: Helpers position and links
Point Helper #1 – Centered on the back of the heel. Eyeballing it is okay.
Point Helper #2 – Oriented to the ankle bone, but positioned at ball bone/ankle bone joint.
Point Helper #3 – Oriented to the ball bone and positioned at the tip of the nub.
Point Helper #4 – Positioned at the IK Solver.
Finally, we position-constrain our IK solver to our ankle helper so when we move the ankle helper, we move the leg. We select the ankle and orientation-constrain it to the ball helper so that the foot pivots properly, and finally we orientation-constrain the ball bone to the toe helper. Now by rotating and moving the various helpers we're able to control the leg and foot to pivot, jump, slide, or do just about anything we desire.
Figure 11: Foot and leg control