HOW TO PAINT SKIN WEIGHTS
by Jason Ungerman

This lesson focuses on character animation set-up.

Specifically, the Smooth Skin functionality of the Bind Skin operation is explored in conjunction with Artisan to Paint Vertex Weights on a pre-built character head model. The two processes work together effectively to achieve definitive control over the resulting deformation of the head model.

   STEP ONE

Download the project file:
skinning_start.ma

In the layer bar, Right Mouse Button over the HeadExt and Lights and select Visible from the list in order to hide the objects pre-assigned to these layers from view.

   STEP TWO

Change to the side view panel. Use hotkey 4 to display in wireframe mode.

Select Skeleton > Joint Tool, draw a three joint (two boned) skeleton from the bottom up through to the top of the head as seen in the diagram.

Rename the lowest joint base, the middle joint neck, and the top joint top.

   STEP THREE

As a separate skeleton, create a two joint (one bone) skeleton that runs the length of the jaw.

Rename the joint near the middle of the head, jaw and name the other joint, chin.

   STEP FOUR

You will now parent the jaw joint to the neck joint.

Open the Hypergraph window by selecting Window > Hypergraph.

Select jaw in the Hypergraph with the Middle Mouse Button, drag and drop it onto neck. Notice the new hierarchy structure that results in the Hypergraph. Also note the new bone that is automatically generated to exist between the neck and jaw joint in the modeling window. Alternatively, Edit > Parent could also have been used to perform this operation.

The jaw joint was necessary to create a separate joint for controlling jaw motion. The neck joint would not offer the same level of control, for its movements would also affect the top joint, creating undesirable effects where jaw deformation alone was the focus.

   STEP FIVE

At this point you are ready to bind the minionHead to the skeleton.

In this exercise, Smooth Skinning is used instead of Rigid Skinning. The major difference between the two is that with Smooth Skinning the vertices can be affected by more than one joint whereas with Rigid Skinning vertex weighting cannot be shared amongst joints.

Equally important is the fact that although a given vertex can be affected by more than one joint, the total range of influence allowed for that vertex must always equal a value of one. In other words, a given vertex weighting will always total to a value of one regardless of how many joints it is shared by. It is the specific distribution of vertex weighting amongst the joints that allows for different effects to result.

Select the base joint (root joint of the skeleton chain) and Shift Select the minionHead geometry and then go to Skin > Bind Skin > Smooth Bind > Options. Set the Options as follows:

  • Bind to = Complete Skeleton (uses the entire skeleton for the bind procedure)
  • Bind Method = Closest Distance (uses relative proximity of vertices to skeleton joints for the bind procedure)
  • Max Influences = 5 (the number of joints that may be allowed to influence given vertices)
  • Drop off Rate = 5 (the rate at which the influence of joints on vertices lessens over distance)

Press Bind Skin.

Change to the perspective view panel and view in shaded mode by pressing 5 on the keyboard. Select the neck joint and rotate it to test the initial results of the Bind operation. Reset the rotation values of this joint back to zero.

   STEP SIX

You are now ready to utilize Artisan to begin editing the weighting of vertices on the bound geometry.

Select the neck joint and Rotate about 30 degrees on the Z-axis then repeat for the jaw joint. These rotations will help show how the changes in vertex weighting affect the model.

Select the minionHead surface and go to Skin > Edit Smooth Skin > Paint Skin Weights Tool > Options.

With the Tool Settings window open, adjust the brush size accordingly in the Radius[U] and Radius[L] fields and then ensure that the Value field is set to 1.

Operation mode should be set to Replace which will replace all vertices painted with weighting values to the number set in the Value field. Select the base joint from the list presented in this tool settings window which then creates a relationship between any subsequently painted vertices with this base joint.

   STEP SEVEN

Paint the lower portion of the neck surface on minionHead. The goal here is to make sure that this region of the model "sticks" to the position of the neck joint only. The value of 1 specified earlier in the Paint Skin Weights Tool Options dictates that any vertices painted will adopt a value of 1 (maximum) in relation to the base joint thereby eliminating the potential of any other joint effecting these vertices.

Notice how the color of the model changes as it is painted. The affected areas become white. The coloring of the surface when using Paint Skin Weights Tool serves as a visual representation as to the weighting values assigned to vertices across the surface. The coloring is displayed in gray scale and works along a tonal range where white equals a value of 1 and black a value of 0.

Change the Operation mode from Replace to Smooth in the Paint Skin Weights Tool Options Window. The Smooth operation mode helps to avoid having any hard edges at deformation time between the areas with vertices that have a value of 1 assigned and those with lesser values. Paint along these areas on the lower neck where the value difference is noticeably great so it begins to look similar to the image above.

   STEP EIGHT

You will now edit the vertice weighting on the top of the minionHead.

From the Paint Skin Weights Tool Options Window, select the neck joint. Since this joint will be used to control most of the head's general movements, it will require the most amount of paint work to be done to create a relationship between the majority of vertices with this joint in particular. Reset the Operation mode back to Replace and paint the top of the head down to the upper lip but not the jaw area.

The mouth should begin to open when painting the upper portion as the vertices inherit the rotation applied earlier to the associated joint. It is helpful to make the brush size larger when working with larger more general areas such as the top of the head and smaller for areas that require more focused selections such as around the mouth. Remember to use the Smooth Operation as well as Replace when refining your weighting.

   STEP NINE

You can now edit the vertex weighting on the jaw of minionHead.

Select the jaw joint and Paint around the lower lip and mouth area associating those vertices to the jaw joint's movements.

Once the painting of skin weights is complete for this joint, change to the Select Tool and select the jaw joint. Rotate the jaw joint to see the effects of the painting process just completed. Notice how the throat area moves too drastically when this joint is rotated.

   STEP TEN

To fix the throat area, select the minionHead surface, and go back into the Paint Skin Weights Tool Options Window.

Select the base joint from the list presented in the window and in Smooth operation mode, Paint around the Adam's apple area. It may be useful to rotate the jaw and neck joints some more to better gage the results across the surface.

If other problem areas become noticeable, such as hard breaks along the cheek bone area or back of the neck, use Smooth and Replace where necessary with the appropriate joint selected from the list to fix.

   STEP ELEVEN

Once finished with the weighting of the vertices, return all joint rotational values to zero or alternatively; select the base joint (root joint) and go to Skin > Go To Bind Pose returning all joints to the position they were set at during the Bind Skin operation.

From the Layer Bar, Right Mouse Button over the HeadExt and Lights layer, and select Visible from the list in order to make visible the objects pre-assigned to these layers. Open Window > Hypergraph and then drag and drop minionBottomTeeth onto the jaw joint. Work with the same procedure to place minionTopTeeth, minionEyes, and minionEarRings onto the neck joint.

Select the neck joint and jaw joint to rotate and test results.

   CONCLUSION

You have now learned how to paint skin weights onto a model. This example used a NURBS model however smooth skin can be applied just as easily to a polygonal character .

Your use of this file confirms your agreement to the
Terms and Conditions set out in the Terms and Conditions page.