In this second of six excerpts from Maya 2008 Character Modeling and Animation, author Tereza Flaxman explains how to better control the deformation around joints.
VFXWorld continues excerpting a new series from the Thomson Course Technology book Maya 2008 Character Modeling and Animation. VFXWorld readers will take on the challenge of animating realistic and compelling characters using the latest version of Maya, the powerful 3D graphics and modeling software. Excerpts will show beginning to intermediate animation students and enthusiasts how to create professional quality characters, explaining the full character animation process from pre-production to final full body and facial animation.
In the last excerpt you learned how to create a basic smooth bind in Maya. This excerpt will teach you how to better control the deformation around joints using a technique known as ''painting weights.''
Smooth Bind Challenges
When you bind a character by using the smooth bind method, the point weights that Maya automatically assigns often do not deform the geometry properly. In this case, you must edit the point weights manually by using the Paint Skin Weight tool.
The points have weight values from 0 to 1, and these values are represented by the colors black and white. Black has a value of 0, and white has a value of 1. With the Paint Skin Weight tool, you can change the points' values to any weight between 0 and 1 to adjust the geometry deformation properly.
1. Select File > New Scene.
2. Select Create > Polygon Primitive and uncheck Interactive Creation.
3. Select Create > Polygon Primitive > Cylinder Option Box. In the Subdivisions Along Height field of the Polygon Cylinder Options window, type 20 and then click the Create button.
4. Scale the cylinder 10 units on the Y axis.
5. Create three joints: joint1 at the bottom of the cylinder, joint2 at the middle of the cylinder and joint3 at the top of the cylinder.
6. Select joint1, joint2, and the cylinder.
7. Select Skin > Bind Skin > Smooth Bind Option Box.
8. In the Bind To field, select Selected Joints and click on the Bind Skin button.
9. Rotate joint2 90 degrees on the Z axis.
10. Select the cylinder. Select Skin > Edit Smooth Skin > Paint Skin Weights Tool Option Box, as shown in Figure 1. The tool settings appear on the right side of the screen.
11. In the Influence section, click on joint1. Notice that the gradient starts with white at joint1 and extends past joint2, as shown in Figure 2. This is because the Max Influences value, which specifies the number of joints that can have influence on each point, defaults to 5 (joints) and Drop-off to 4.0. The drop-off rate determines the influence decrease of each joint on the skin points.
Visualize the Direction of Bind Influence
One of the hardest things about smooth-bound joints is visualizing the direction in which the points are being pulled. The CVs are not pushed or pulled relative to the surface; instead, they are pushed or pulled relative to the joints influencing them. The best way to get a feeling for this is with a contrived example.
1. Select joint1 and enter 1.0 in the Paint Weights Value field.
2. Click on the Flood button. You should see something like Figure 3.
When you have a set of joints, the CV weights must add up to 1.0. If you flood the CV weights on one joint to 1.0, as in this example, the other joint (or joints) gets automatically set to 0. If all CVs have a weight of 1.0 on joint1 and 0 on joint2, the CVs are influenced only by joint1. Because joint1 starts out pointing straight up, the CVs line up this way.
Now try flooding the points of joint1 to 0. This effectively reverses the situation, so that only joint2 has influence. The points migrate to the current rotation of joint2, which in this case is horizontal.
Finally, consider what would happen if you flood joint 1 to 0.5. The result of a 0.5 weight on every CV of joint1 is that every point of joint2 also gets a 0.5 weight (0.5 + 0.5 = 1). Because each point is influenced equally by the rotational position of joint1 and joint2, the points move as if rotated halfway between the joints, as shown in Figure 4.
Now try to paint the weights so that the "elbow" does not appear to lose mass when it bends. The process of painting skin weights can be tedious, but it also provides the fine degree of artistic control needed for moving complex joints.
Smooth binding and its control using painted weights is a fundamental skill in character rigging for animation. This excerpt gives you an idea of the fundamental concepts and available controls. In Chapter 7 of the full book, a step-by-step tutorial is provided on rigging a simple biped using these techniques.
Each chapter of Maya 2008 Character Modeling and Animation: Principles and Practices begins by exploring the "why" behind the techniques being presented, followed by step-by-step tutorials to apply your new knowledge. Following a series of hands-on projects, you'll learn how to model, rig and animate, building a comprehensive skill-set as you move progressively through each chapter. Check back to VFXWorld frequently to read new excerpts.
Maya 2008 Character Modeling and Animation: Principles and Practices by Tereza Flaxman. Boston, MA: Thomson Course Technology, 2008. 500 pages with illustrations and CD. ISBN 13: 978-1-58450-556-3; ISBN 10: 1-58450-556-7 ($44.99).
Tereza Flaxman teaches 3D modeling and animation at the Harvard Extension School and Northeastern University. She has been teaching animation for the past seven years at both undergraduate and graduate levels and is a Certified Alias Maya Instructor. Additionally, she has taught at both the School of Film and Animation at the Rochester Institute of Technology (RIT) and at the State University of New York (SUNY). She also works as a freelance animator. Flaxman has more than 15 years of experience with high-end 3D animation software and has used Maya since version 1.0. Her work has been published in several books and magazines and exhibited in shows throughout the U.S. She has an MFA in computer animation from the School of Visual Arts in New York City and a BFA from the University of Oregon.