• Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL
Help

Chapter 4. Rigging the Bones > Fingers and Thumb

Fingers and Thumb

Next you'll set up controls to make the fingers and thumb flex and curl. Before you start this process, take a moment to work with your own hand. What are the most common poses you make with your hand, and which fingers do you curl during the poses?

Hand Poses

These are some the most commonly used poses, both in life and in animation:

  • FLEX Straighten and arch the fingers and thumb back slightly to flatten the hand.

  • NEUTRAL The hand in a position of rest. This is the way you modeled the character's hand.

  • GRASP Curl the thumb and fingers partway to hold an object.

  • FIST Curl the fingers into the palm, and curl the thumb across the fingers.

  • POINT Curl all fingers into a fist except the index finger.

You usually pose your last three fingers the same way, either all curled or all uncurled. For example, it's pretty rare to curl your pinky without curling your second and third fingers. One exception would be curling all your fingers except the middle one to make a gesture that is unacceptable in polite company. Unless you plan to animate your character to make this gesture (and we won't be doing that in this book), you can safely make the last two fingers curl together at all times.

Hand Custom Attributes

To create the hand poses listed above, you can set up three custom attributes:

  • CurlThumb

  • CurlIndexFinger

  • CurlTwoFingers

For this rig, you'll use the following values to represent different poses for each custom attribute:

ValuePose
–20Flex
0Neutral
100Curl partway (as for grasp pose)
200Curl into palm (as for fist pose)


With each custom attribute set up separately to perform all four poses, you'll be able to make the hand do just about anything a real hand can do.

Why are we using a negative value for the flex pose? Why not just give the flex pose a 0 value, and go up from there? The neutral pose is the pose the bones currently have. When you set up the master and slave tracks in the Reaction Manager, the first state will automatically be set up with the custom attributes at 0 and the fingers in the neutral pose. So it makes sense to give the neutral pose the 0 value.

Because fingers curl toward the palm but flex away from the palm, making the curl poses postive and the flex pose negative will make animation more intuitive.

Rotation Axes

Make the poses with your hand again, and look at the way you rotate your fingers and thumb. Note that each finger joint rotates on only one axis, but the base thumb joint can rotate on any axis. When you set up reactions for the fingers, you'll only need to set up one axis as the slave. For the base thumb joint, you'll need all three axes.

TUTORIAL R11: Rigging the Finger Curls

Here, you'll rig the finger curls by creating custom attributes on the wrist control, then wiring them to the finger rotations.

Determine the Curl Axis

Before we can set up the slave parameters, we need to determine which of the fingers' local axes will be used to create the flexes and curls.

If one finger curls on a particular axis, all the finger bones will use the same axis for curling. This means you only have to test one finger bone to find out the correct axis of rotation for all the fingers.

1.
Load the file CharRig13.max, if it isn't still on your screen.

2.
Zoom in on the hand in the User or Perspective viewport.

3.
Click Select and Rotate.

4.
On the main toolbar, change the Reference Coordinate System to Local.

5.
Rotate one of the fingers in the direction in which it should curl, and watch the number display above the transform gizmo to see which axis changes.

The number display shows the degree of rotation as [X,Y,Z]. The numerical value will change for only one axis. In the rig included on the CD, the fingers curl on their local Y axes, but it's possible that yours are different.

6.
Undo any rotation before continuing.

TIP

If you can't see the numerical angle value, choose Customize > Preferences > Gizmos tab, and turn on Angle Data in the Rotate Gizmo group.


Create Custom Attributes

You'll use a slightly different method to add the custom attribute to the wrist control. Here, you'll add an Attribute Holder modifier, adding the custom attribute to the modifier level of the stack.

The Attribute Holder doesn't do anything on its own; it simply provides a separate level of the stack just for custom attributes. This modifier is particularly useful when the control object has numerous rollouts at its base level, as an Editable Spline does. By putting the custom attributes on a separate level, you can easily find them when you need to change them.

1.
Select CtrlWristL.

2.
Add the Attribute Holder modifier to CtrlWristL.

3.
Choose Animation > Parameter Editor.

4.
For the custom attribute Name, enter CurlThumbL.

5.
Enter a Range from –20 to 200.

Note that the Default value is 0, which will be used for the neutral pose.

6.
At the top of the Attribute rollout, make sure that Add to Type is set to Selected Object's Current Modifier. This will cause the custom attribute to be added to the Attribute Holder modifier level of the stack.

7.
Click Add.

8.
Create two more custom attributes with the same ranges, and name them CurlIndexFingerL and CurlTwoFingersL.

9.
Close the Parameter Editor.

If the custom attributes don't appear automatically on the Modify panel, choose the Editable Spline level of the stack, then the Attribute Holder level again. The custom attributes should appear on the Modify panel in a new rollout called Custom Attributes.

Set up Master and Slave for Index Finger

We'll start by setting up reactions for the index finger.

1.
Hide all the finger nub objects. This will make it easier to see the finger curls after you set them up.

2.
Choose Animation > Reaction Manager.

The master tracks for the two feet are displayed in the Reaction Manager for this scene. You'll add the finger tracks.

3.
At the top of the Reaction Manager dialog, click the Add Master button. Click CtrlWristL, and choose Modified Object > Attribute Holder > Custom Attributes > CurlIndexFingerL.

4.
Select the two index finger bones.

TIP

If your character's fingers curl on the X or Z axis, you should substitute the appropriate axis wherever Y Rotation is mentioned.

5.
Click Add Selected on the Reaction Manager dialog, and choose Transform > Rotation > Y Rotation.

This adds the Y Rotation track for both bones as slave tracks, and creates the initial state with all tracks at their default values.

Set up Reactions for Index Finger
1.
Select CtrlWristL.

2.
On the Modify panel, click Pin Stack.

3.
Change CurlIndexFingerL to –20.

4.
Click Create Mode to turn it on.

TIP

You don't have to have Create Mode turned on when you change the master track, only when you change the slave tracks.

5.
Rotate the index finger's base (knuckle) bone back by about 10 degrees to flex the finger.

6.
Click Create State.

7.
Create two more states for the index finger:

  • When CurlIndexFingerL is 100, rotate the base bone by about 30 degrees, and the second bone by about 70 degrees.

  • When CurlIndexFingerL is 200, rotate the base bone to curl the finger into the palm until the second bone is almost touching the palm.

8.
Turn off Create Mode when you've finished.

9.
Test the reactions by increasing the CurlIndexFingerL parameter to see how it affects the finger. The tip of the finger should nearly touch the palm when CurlIndexFingerL is at 200.

If you like, you can smooth out the curves at the bottom of the graph to see if that improves the motion.

Set up Reactions for Remaining Finger Curls
1.
In the Reaction Manager, add the CurlTwoFingersL custom attribute as a master track.

2.
Use the same process to set up reactions for the CurlTwoFingersL custom attribute with the middle and pinky fingers' Y rotation tracks as the slaves. You will have to rotate each finger separately when setting up the reactions.

If you like, you can change CurlIndexFingerL to the same value as CurlTwoFingersL while you set up the poses. This can help you visualize how the fingers will work together when flattening the hand and creating a fist pose. Because CurlIndexFingerL is not included in the CurlTwoFingersL master/slave relationship, changing its value will not affect the reactions.

3.
Turn off Create Mode, and test the rig by increasing CurlTwoFingers. The fingers should curl into the palm when CurlTwoFingersL reaches 200.

4.
Save the scene as CharRig14.max.

Set up Thumb Reactions

The thumb rotates a little differently than the fingers. Recall that the base thumb bone can rotate on any axis, so you'll need to add all rotation tracks for this bone as slaves.

The second thumb bone doesn't rotate in the same direction as the fingers. When you hold your hand flat and rotate just your second thumb bone, you can see that it curls in a direction different from your fingers. Let's test the rig and see which axis this corresponds to.

1.
Rotate the second thumb bone slightly toward the palm, and note the axis of rotation. Be sure to undo any rotation before continuing.

In the rig on the CD, the thumb rotates on the Z axis.

2.
In the Reaction Manager, add CurlThumbL as a master track.

3.
First you'll set up the slave tracks for the base thumb bone. Click Add Slave, and click the base thumb bone. From the pop-up menu, choose Transform > Rotation > X Rotation.

4.
Repeat the previous step on the same bone two more times, choosing the Y Rotation track the first time and Z Rotation the second time.

5.
Click Add Slave, and click the second thumb bone. From the pop-up menu, choose Transform > Rotation > X Rotation. If your character's second thumb bone rotates on a different axis, use that axis for this step.

6.
Turn on Create Mode.

TIP

If you like, you can change the CurlIndexFingerL and CurlTwoFingersL values to help you visualize the grasp and fist poses for the thumb. Only the slaves for the CurlThumbL master will be affected when you click Create State, so changing the other values won't cause any problems in setting up the thumb states.

7.
Set up the following reactions for the thumb:

  • When CurlThumbL is –20, stretch the thumb bones to a flat position.

  • When CurlThumbL is 100, rotate the thumb bones to a grasping position.

  • When CurlThumbL is 200, rotate the thumb bones to a fist position.

Test the Reactions
1.
Select CtrlWristL.

2.
Turn on Auto Key, and go to frame 10.

3.
On the Modify panel, set CurlTwoFingersL, Curl IndexFingerL, and CurlThumbL to –20.

4.
Go to frame 20, and change all the custom attributes to 100.

The fingers should go into the grasping pose.

5.
On frame 30, change all the custom attribute values to 200.

Now the pose should resemble a fist.

6.
Turn off Auto Key.

7.
Scrub the time slider back and forth, and watch the hand as it animates.

8.
Save the scene as CharRig15.max.

9.
To complete the rig, duplicate all these steps on the right hand and save as CharRig16.max.

You'll find a rig with both hands set up on the CD in the file CharRig16.max.

TUTORIAL R12: Completing the Arm Rig

To complete the arm rig, you need a shoulder control.

Rig the Shoulder

The control for the shoulder will work a little differently than the wrist control. It will be the parent object for the entire arm, including the clavicle, but will be positioned not at the base of the clavicle, but between the clavicle and the upper arm. In addition, its pivot point will be aligned with the clavicle's pivot point.

This might seem like a strange construction for the shoulder rig, but once it's set up, you'll see how this helps you control the shoulder.

1.
Continue from the previous exercise, or load CharRig16.max.

2.
Choose File > Merge to merge the Gyro object from ControlShapes.max.

You could copy the wrist gyro to make the shoulder gyro, but then the shoulder gyro would have all the wrist's cus tom attributes on it. By merging it again, you start with a fresh gyro.

3.
Use Align to align the control object's position with the position of BoneUpperArmL, the left upper arm. Choose Pivot Point for both the Current Object and Target Object.

This aligns the control object's position with the upper arm.

4.
Name the gyro CtrlShoulderL.

Now you'll move the object's pivot point to match the pivot point of the clavicle bone.

5.
On the Hierarchy panel, click Affect Pivot Only.

6.
Click Align, then click the left clavicle, BoneClavicleL. Align both the position and orientation. Choose Pivot Point for the Current Object and Target Object.

7.
Turn off Affect Pivot Only.

8.
Link BoneClavicleL to CtrlShoulderL.

9.
Link CtrlShoulderL to BoneSpine04.

Test the Shoulder Rig

1.
Turn on Auto Key.

2.
Go to frame 10.

3.
In the Front viewport, move the left wrist control, CtrlWristL, upward to extend the arm up, and rotate the wrist control to pose the hand comfortably.

The shoulder looks stiff and unnatural.

4.
In the Front viewport, rotate CtrlShoulderL to raise the shoulder.

This pose looks more natural with the shoulder rotated upward.

In essence, you're using the control object as a parent for the clavicle. You put the control object between the clavicle and upper arm simply to make it easier to select.

5.
Turn off Auto Key.

6.
Save the scene as CharRig17.max.

7.
Repeat these steps to set up the shoulder rig for the right arm and save as CharRig18.max.

A scene with both shoulders set up can be found in the file CharRig18.max in the Rigs folder on the CD.

  • Creative Edge
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint