CAP 211 - Interactive Design and Game Development

Chapter 39 - Rigging and Working with Bones


This lesson concerns rigging a set of bones for a character. Objectives important to this lesson:

  1. What is rigging
  2. Rigging workflows
  3. Creating a bones system
  4. Bones parameters and IK solvers
  5. Making a bones system from linked objects

This lesson relates to Lesson 12 in the CAP 202 class. You may want to read the notes for that lesson first, then continue here. The discussions in this text are often brief, and will be learned more easily with supplements from other sources as needed.

Rigging, as defined in the text, is giving a character a skeletal structure that provides a means of moving the character and constrains those movements in logical ways. When rigging a human character, you would use a skeleton that is similar to a human skeleton. It would have limits in that it bends where there are joints but not where there aren't.

With respect to rigging, a workflow is a linked hierarchy. The text uses the arm as an example. A shoulder is connected to an upper arm. An upper arm is connected to an elbow. An elbow is connected to a lower arm, and so on through the wrist, the hand, and the fingers. Moving something high in the hierarchy tends to affect the linked members lower in the hierarchy.

As you saw in the Quick Start lesson, moving something low in a linked hierarchy can also affect a member higher up. This is due to Inverse Kinematics (IK), which are discussed in the next chapter. The opposite of Inverse Kinematics can be called Forward Kinematics (FK).

Think of forward kinematics as the study of how motion takes place. For example: how do you walk? Most people will say that they move their feet, but that is not where the motion starts. When a person walks, the motion starts at the hips and thighs, which affect the knees, the shins, the ankles, and finally the feet and toes. Forward kinematics involves understanding that motion. Inverse Kinematics involves understanding that motion and accommodating it when the member at the end of the linkage is moved by the animator. The IK logic of a system knows that if we animate a foot, the associated initiator of that movement must also move in a logical, predictable way.

So, as shown in the Quick Start, a character is typically created, rigged, skinned, and animated, in that order.

Exercise Notes and Questions

Work through the exercises and turn in your answers to all questions below as part of the homework for this assignment.

If you are creating a bones system (a skeletal rig), the text says you should sometimes establish the linking hierarchy before adding the bones system to it. In other words, build the skeleton, put the bones in a hierarchy, then add the bones system.

The text also explains doing this from scratch: start by going to Create, Systems, Bones IK Chain. This allows you to create a root bone for the skeleton, then to create and link adjacent bones to it. This forces you to create the bone objects at the same time you are linking them. This may be fine, but you should have a design worked out before you start, to avoid leaving out important bones and joints.
Question 1: How does the text tell you to create a branch on a hierarchy of bones?

After you place the bones in a system, the next step is to assign an IK Solver to each bone. This is a sub-program that controls motion.
Question 2: Where is the IK Chain Assignment rollout?
Question 3
: What are the IK Solver types available on that rollout?

The text discusses bone parameters. As you would expect, we can set width and height for each bone. We can also set a taper for the bone. The text indirectly suggests that we should add fins to the bones to make it easier to see when they are rotated. This is not so much an element of realism as it is a visual tool for animating the bones. Remember, we will animate the bones, not the mesh skin attached to them. This makes the caption on page 930 clearer. The fins do not tell you which way to place the bone in the character. They tell you how it was moved when you refer to different frames in the animation.

Tutorial 1 (Creating a bones system for an alligator) : This tutorial begins with a plan for a skeleton for an animated alligator. Unless you already know a great deal about alligators, you should feel a need at this point to do some research on alligator skeletons and movement. How are you going to apply a realistic movement to a character if you don't know how the animal it is based on moves? How are you going to create a set of bones for a character if you know nothing about the bones in the real animal? Animators and riggers do this kind of research when they need to learn things. Let's assume you felt this impulse, did the research, and came back.

  1. Open the indicated file that contains a model for an alligator.
  2. Create a new bones system as instructed.
  3. Go through the body of the alligator first, then create the bones for each leg.
  4. Follow the instructions to create the "arms" and legs of the character's bones
  5. Change to Select Objects mode as instructed, and name the bones. You may want to refer to the skeleton link above for some names.

Now that you have bones, you can use the bone tools by clicking Tools, Bone Tools. (In 3DS Max 2009, you use Animation, Bone Tools.) This tool set is needed to make adjustments to individual bones. If you use the standard Move, Rotate, or Scale tools on the toolbar for a bone, you will affect its children. If you use the bone tools panel to transform a bone, only that bone is transformed. (In 3DS Max 2009, you use the standard tool, but click the Don't Affect Children button on the Hierarchy panel.)

  • The Bone Tools panel includes a Remove Bone button. If you click it, the selected bone is removed, and its child is stretched to close the resulting gap.
    Question 4: What happens if you hold a shift key down while clicking the Remove Bone button?
  • A bone chain must end with an End Bone, or an IK Solver won't work with that chain. Use the Create End button to place an end bone marker on the last bone in a chain.
  • You may not have included all the bones you need in a system in your first attempt. You can use the Connect Bones button to make a connection that does not already exist between two bones.
  • The chain must have a root. If you draw it from scratch, as in the tutorial above, your first bone is the root. If you made a mistake and started at the wrong end of the chain, you can use the Reassign Root button to place the root at the the child bone at the end of the chain.
  • The Refine button (it doesn't say "bone") allows you to split a long bone into two at the point where you click. This will give you a new joint where you forgot to place one.
  • The Mirror button gives you a dialog box to create a mirror image of selected bones. The text suggests using this for symmetrical bone structures like arms and legs.
  • The Gradient section of the bone tools panel lets you apply a gradient to a chain of bones, gradually shifting from one color to another across the length of a chain. It is not clear why this would be desirable.
  • The Bone Tools panel contains a rollout to adjust Fins.
  • Objects that are not bones can be turned into bones. Use the Bone On option on the Bone Tools rollout for Object Properties.

Review the other Bone Tools features noted in the text.