Lesson 4: Painting Sticky Weights to Simple Muscle
 
 
 

In the previous lessons, you created muscles and bones and set skin weights for the bone capsules. In this lesson, you add weights for simple muscles. This is the same process as weighting for bones, except with muscle weights, the mesh deforms not only when the muscle moves as a whole, but also when its surface moves or jiggles. Since the skin mesh is effectively attached to the muscle surface with Sticky weights, when the muscle jiggles or bulges, so does the skin that is weighted to it. This step alone can give a high level of additional realism and interest to your rigs.

Just as you connected the bones in an earlier lesson, you first need to connect the muscles to the Muscle skin deformer. Since they were created with the Muscle Builder, they are already rigged with the cMuscleObject shape node and can be immediately connected.

Load the tutorial file

  1. Start with your file from the previous lesson, or load the tut_dragonLeg_sticky_START.ma.

    This file has the skin mesh weighted to the bone capsules, and the muscles are set up and attached to the bones.

Visualize the Sticky Bind distance

Unlike weighting to bones, when weighting to muscles the skin mesh points are bound to the surface of the muscle. Setting this operation up takes some time, so when the muscles are first connected a "Sticky Bind" operation is calculated from the skin to the muscle. In order to speed up this calculation, only points within a certain distance from the center of the muscle are calculated. For example, a muscle for a character’s left arm will typically does need to be weighted to points on the characters right leg. Thus, only points close enough to the muscle are calculated.

To control this, once you attempt to connect a simple muscle, a dialog box appears asking you what distance to use. Typically, using the Auto-Calculate value is sufficient, but there may be cases where you want to preview the effect of this value. As an example, we can take a muscle and visualize the Sticky Bind distance for it.

Any points within the Sticky Bind distance are calculated, and can be weighted to the muscle properly. Any points outside this distance are ignored. Note that this process is simply setting whether the point is allowed to be weighted, it does not actually do any weighting. Any points outside the distance can have weights set, but usually deform incorrectly. If you set the distance too low, you can always go back and re-bind Sticky (even to the entire mesh) later.

  1. Select a simple muscle in the rig. For example, select the simple muscle located on the upper thigh.

  2. From the main menu, select Muscle > Muscle Objects > Visualize Sticky Bind Distance for selected Muscle Objects.

    A yellow visualization sphere appears around the selected muscle.

    You can look at the sphere's radius to determine its distance and adjust the radius to see how a larger or smaller value would work. The sphere itself is just a temporary object and has no relevance to the muscle, other than to visualize the distance.

  3. Delete the sphere when you are finished.

    Now you can connect the muscle surfaces to the skin.

Connect muscle objects

  1. Go to frame 0, and do the following:
    • Ensure the bones and muscles are in their default base pose.
    • Select all of the NURBS muscles and the skin mesh.

  2. Select Muscle > Muscle Objects > Connect selected Muscle Objects.

    Since you have one or more simple muscles selected, a dialog box appears asking how you want to handle the Sticky Bind distance. For information about the dialog box options see Sticky Bind Maximum Distance dialog box.

  3. For the purposes of this lesson, click Auto-Calculate.

    Each muscle is connected to the Muscle skin deformer and set up to allow for Sticky weights. When this process is complete, the muscle weights can be painted the same as bone capsule weights.

Paint muscle weights

  1. Select the skin mesh.
  2. From the main menu, select Muscle > Paint Muscle Weights.

    The Muscle Paint tool displays. Just like when you painted the capsule weights, you can use this tool to paint or set Sticky weights for the muscles.

  3. In the Weights drop-down menu, select Sticky.
  4. Select a muscle in the Influence list.
  5. A good way to paint muscle weight is to slowly add up weight from the bones onto the muscle. To do this:
    • Set the Weight value to a small value, such as 0.1, and select Add as the paint mode.
    • Paint weights for the muscle on the skin.
    • Scrub the timeline to see how the animation looks with this deformation.
    TipYou can also right-click the Weight slider to select from preset weights in increments of 1/10th.
  6. Continue to add weight for each muscle until you get deformation effects you like. Notice how the skin moves along with the muscle surface as the Sticky weights are added to the muscle.

  7. Practice painting Sticky weights for other muscles or open the tut_dragonLeg_sticky_END.ma file for a rig completed with Sticky weights painted for bones and muscles. This file also has an adjusted animation to display muscle deformation.
    TipDon't worry about interpenetration of the muscles since typically you do not render the muscles, only the skin. In the next lesson, you add Sliding weights for the muscles and bones, which helps the skin push out from the muscle if they intersect.

Beyond the Lesson

In this lesson you learned how to: