This article was printed in the 1998 siggraph issue of 3D Design magazine, for an article Alex Alvarez wrote entitled 'Organic Modeling and Animation in Maya V.1',
Alex is director and instructor at Gnomon Training Center, a HIGHEND3D.COM strategic partner. Alex teaches advanced acharacter nimation classes covering these techniques and many more at Gnomon. I have learned a great deal from his animation classes and highly recommend anyone interested in character animation to take his classes.
Maya's toolset for high-res character deformation and animation offers great precision, flexibility and intuitiveness. With PowerAnimator, the performance with such geometry seriously hindered productivity as the package had no built in solution for working with heavy models. Setting up deformations was slow in both set-up time and performance. There was very little room for spontenaity as everything needed to be planned and synchronized. One had to create low-res versions for different aspects of the model split into different project files. I would animate the face in a separate module called SoundSync, animate the head and neck rotations in PowerAnimator, the low-res body in another project file, export the animation curves from these projects to disk, and finally import the anim data into the high-res 'hero' file for rendering.
In this month's article I will be concentrating on animation set-up and workflow for my character Lanker. The tools we will be using Bindskin, Clusters, Lattices, Sculpts, Flexors, Blendshape, SetDriven Key and Layers, all of which are features found in the base module of Maya.
Section One: Attaching Lanker to his Skeleton
With the skeleton complete we now need to set up our skeleton driven surface deformations. While we still have PowerAnimator style clusters (groups of vertices), the focal point of Maya's new found character animation strengths are the incredibly powerful and versatile methods for designing deformations.
When dealing with rigid characters, such as a robot, geometry can simply be parented to the joints. But with deforming characters such as Lanker, clusters must be created on the geometry, and it is the clusters which are parented to the joints. These clusters can be groups of the geometry's vertices or groups of a lattice's points, meaning that a lattice is first added to the geometry and then a cluster is added to the lattice.
While clusters can be created manually as illustrated in part one of this series, Maya offers a tool called Bindskin which automates this process. Figure 1 shows the result of selecting the hip, knee, ankle and ball joints, selecting the leg geometry and invoking Skinning/Bindskin. Figure 2 shows the result of selecting the same joints, but instead of selecting the geometry, a lattice was first assigned to the geometry and the lattice was bound. The options chosen within the Bindskin dialogue box were SelectedJoints and Closest Point binding. The latter option is telling Bindskin to create clusters for us on the selected surface(s) or lattice where one cluster is created per bone. The points selected by the software for inclusion simply depends on proximity. This first step gives us a good start, yet there are a few issues remaining such as tucking, bulging and case specific deformations such as the bulging that may occur in the thigh if Lanker sat down in a chair. An important note at this point is that one must be able to get the skeleton back into the pose it was in when bound for later editing reasons. The techniques for storing skeletal poses illustrated in part two of the series are useful for this purpose.
With the basic attachment of the leg geometry to the skeleton, it is important to understand what happened and how to edit this initial phase. By opening the hypergraph, it is evident that clusters were created on the geometry and parented to the joints. But the thing to note is that the clusters that are created by Bindskin are not weighted, thus when we bend the leg the knee deformation looks inaccurate. Figure 3 shows the the effect of selecting the hip joint and invoking Deformations/Edit Membership so that we can view the clusters and modify which joint clusters the vertices belong to. The vertices highlighted in yellow are associated with the selected joint, while the other vertices are color coded so that we can distinguish how the clusters were made. We can now add/remove vertices from the selected joint by shift/control dragging around the target vertices. Once we are happy with the cluster allocations, we can continue to fine tune the deformation by now editing weights using the Set Editor as shown in part one of the series. Figure 4 shows the knee with the default weights of 1, and then with the vertices near the nearcap weighted to .5.
Page 1 of 4
Author:sdb1987 Submitted: 2005-10-09 23:31:48 UTC Tags: Software: Maya Views: 81,221