Binding and Weighting the Character
Now that we have an operational character rig, it is time to let it control the geometry of the character. Basic skinning is fairly easy, since Maya does most of the work for you. However, as you will see, adjusting skin weights to make the character deform just right takes time and effort. To bind the skeleton to the skin, follow these steps:
- Select the root (Hips) joint of the skeleton. Be sure not to select the hips effector but rather the root joint itself. Then Shift+select the body geometry.
- Choose Skin * Bind Skin * Smooth Bind □. In the option box, reset all settings (choose Edit * Reset Settings). Max Influences determines how many joints might affect a given element of geometry, and Dropoff determines how quickly the influence of a joint disappears as you move farther from the joint. (Higher numbers drop off more quickly.) For this character, Max Influences of 5 and Dropoff of 4 are appropriate values. Also be sure the Colorize Skeleton feature is turned on. This feature colorizes each bone in the skeleton and will be useful shortly as we adjust the skin weights.
- Click the Bind Skin button, and, within a few seconds, your geometry should be bound to the skeleton.
When you now move your control rig around, Machismo himself should follow, deforming more or less correctly with the motion of the joints, as shown in Figure 8.30. If the default settings do not produce satisfactory results (note especially whether the fingers, toes, and armpits are generally workable), try undoing the skinning process and adjusting the Max Influences and Dropoff settings. For reference you can open the MachismoSkinStart.ma file on the CD.
- Figure 8.30 Surfing! Machismo's geometry being moved around by the skeleton.
Figure 8.31 Machismo's geometry with color feedback turned on for weight painting
Unfortunately, while creating a smooth bind is a straightforward process, it does not do a perfect job of deforming our character's geometry. To create a usable character, we must reweight the skin—one of the most tedious and potentially frustrating parts of creating a character rig. Although Maya makes it fairly easy to reweight skin, doing so for a character with dozens of joints is still a long and difficult task because of the sheer number of cross-influences between various joints.
You can adjust the weighting of your skin in several ways, but the most intuitive method is to use the Paint Skin Weights tool, which allows you to use a virtual paint brush to paint on adjustments to the default skin weighting and see these adjustments take effect in real time. Maya 8 includes a color feedback feature that colors the skin, showing the influence of every joint on the skin at the same time and allowing for easier fine-tuning of joint influences on the skin. Figure 8.31 shows Machismo's skin with the multicolor feedback turned on. Joints can also be rotated while still in paint mode, which can speed up weight painting substantially because it removes the need to go back and forth from rotate to paint tools.
To enter weight painting mode, select Machismo's skin geometry and choose Skin ■ Edit Smooth Skin ■ Paint Skin Weights Tool □ from the Animation menu set. The Paint Skin Weights Tool options window will open, as shown in Figure 8.32. This window contains

P.iiril Slcin Wriijhlv Tcml
V Rotate to I trek*
Q Alphabetically Bv HfeWthy
Hint:
LI» I he RMR over a joint Ir tue modeltnq iftH tb SClCCt il fnr ii.i¡riling
Hrpt
Spine
Spinel spinel spine]
splnea
Neck
Neclti
Heap
HeadL
Pa>nl operation: ^Replace
Q Stale many settings, as well as a pane wherein you can choose the joint for which you will paint influences. Toward the bottom of the window, twirl down the Display tab and check the Multi-Color Feedback option to see Machismo's skin color reflect the weight of each joint.
The basic procedure to paint skin weights is to select a particular joint (a finger joint, for example) and then paint to add, replace, or smooth weights, depending on which radio button is checked. (You can also scale weights, but this is not frequently useful.) Adding weights adds a certain amount of influence—defined by the amount in the Value slider multiplied by the Opacity setting— to the skin from the selected joint. If both Opacity and Value are set to 1, painting adds full influence (value of 1) to the painted vertices. If both are set to 0, painting has no effect since adding 0 doesn't affect the weightings. Replace discards the old weightings and replaces them with the current value (multiplied by the Opacity setting). Smooth adjusts weights so that they approach each other: if a particular CV has 0.8 influence from jointl and 0.2
influence from joint2, Smooth adjusts these weights so that, eventually, they will both be close to 0.5. Replace is a little dangerous to use with weighting, because it can lead to skin points with less than a 1.0 overall weighting, which causes that piece of skin to "hang back" as the character is animated, since it is not being pulled along at 100 percent. Thus, we will stick to using the Add and Smooth settings to paint weights where possible.
To start, select the LeftForearm joint in the Tool Settings window, and then MM click the joint to go into rotation mode. With the middle mouse button (not the left one), drag one of the rotation axes to bend the elbow joint enough to see creasing in the elbow area, but not enough to overlap any skin, which would make weight painting difficult, as shown in Figure 8.33. (Be sure to write down the original rotation angle of the joint if it's not 0 so you can get back to that angle again.) Select the Paint Skin Weights tool (press the Y key on the keyboard to reselect it again), set the mode to Add, and set the Value slider to something like 0.4 and the Opacity slider to about 0.3. These settings will allow fairly subtle adjustments of the skin weights, which is desirable so as not to create any discontinuities where influence from one joint meets influence from another. If your brush radius (the red circle that appears over the geometry) is too small or too large, hold down the B key and drag the mouse over the geometry to be skinned; the radius of the brush will alter size to better fit your painting needs.
Tuul Settings
Togple Hold Weights on Selected
Ql Add Q; smootf
Figure 8.32 The Paint Skin Weights Tool options window
- Figure 8.33 Bending the elbow for weight painting
- Figure 8.34 The bent elbow with adjusted skin weights applied
Switch back to paint mode by LM clicking anywhere on the geometry, and then begin painting over the lower inside elbow area to increase the elbow joint's influence over the forearm, thus increasing the inside elbow crease. Switch back and forth between the Left-ArmRoll and LeftForearm joints, adding influence to each to create the crease. You will also want to create a more defined outer elbow on the back of the arm using the same method. As you add influences in this area, you may find that the back of the elbow, especially, is getting very sharp. To smooth out that area, change to Smooth mode and paint over the area until you are satisfied with the look. (You may find that increasing the opacity while using the Smooth tool makes this tool work more efficiently.) When you're finished, your newly creased elbow should look something like Figure 8.34. Once you are satisfied with the elbow area, be sure to select the LeftForeArm joint and reset all the rotation values to 0. (Alternatively, you can select the skeleton and choose Skeleton * Full Body IK * Go To Stance Pose to return all joints to their initial bound positions.)
You can select a joint on which to adjust weights by holding the right mouse button down over the joint and choosing Paint Weights from the pop-up menu. This can really speed up weight painting over selecting the joints in the option box.
Now comes the fun part: repeat the process of painting weights for every element of Machismo's body! This will take a long time, and getting skin weights set just right is something of an art, so be sure to save different versions of your scene file in case you need to go back to an earlier version. Here are some pointers to help you in the weighting process.
- The multicolor feedback setting will be useful, once you get used to how the colors are generated by various joints, when painting areas with multiple influences, such as the fingers, armpits, and upper legs/hips.
- For particularly nasty areas (such as the armpits), bend the primary joint a little, adjust weights until the area looks good, and then bend the area more and readjust weights.
- Be sure to rotate joints in every direction they can be rotated to check on weighting. Your character may look fine when a joint is rotated in the X axis but terrible when that same joint is rotated in Z.
- For areas that can bend tightly (fingers, knees, and elbows), be sure to adjust weighting throughout the range of motion of the joint. Try bending the joint partially, adjusting weighting, bending it further, readjusting weighting, bending it fully, and then doing final adjustments.
- Continually test your rig in "temp" versions of your scene, and give these temp versions to others to test as well. You will find that all sorts of little problems crop up in the skin weighting as the character is put through complete motions, and it's better to solve these now than in the middle of animating a scene.
- For areas such as the head that don't need to distort at all, you can flood the geometry with a value of 1 for a joint such as head4. This will remove any influences of other joints, such as the neck joints, without your having to paint weights for each joint individually. To flood the geometry, choose the Replace setting (this is one time it's good to use Replace), set the Value and Opacity to 1, and click the Flood button.
- Be sure to write down translation and rotation settings for every joint or effector handle you move. You will want to return them to exactly where they were after you finish weighting the skin, and writing these values down is a lot safer than trying to remember them. Although Go To Bind Pose or Go To Stance Pose normally works, it sometimes doesn't return joints to exactly the value they were in initially.
When you finally finish reweighting your model, you should have a definite sense of achievement knowing that you now have a properly bound character that moves just right when various joints are rotated. The MachismoWeighted.ma file on the CD contains a fully weighted rig for your perusal.
Post a comment