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.

Open the scene for the lesson

  1. Load the file you worked on in the previous lesson or load the DragonLeg_Sticky_Start.mb file from the Lesson 4 folder.

    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, weighting to muscles binds the skin mesh points to the muscle surface. When the muscles are first connected, a Sticky Bind operation calculates the distance between skin and 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 typically does not need to be weighted to points on the character’s right leg. Sticky Bind ensures that only points close to the muscle are calculated.

The Sticky Bind window appears as you connect simple muscles, letting you control the distance. Typically, using the Auto-Calculate value is sufficient, but you can also preview the effect of the value. This lesson shows you how to visualize the Sticky Bind distance for a leg muscle.

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.

To visualize the Sticky Bind distance

  1. In the Display Layer editor, turn off the lyrSkin layer to temporarily hide the skin as you work on the muscle.
  2. Select the simple muscle located in the upper thigh (MusLegUpFront).
  3. 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.

    The radius of the sphere helps you visualize the skin points affected with this Sticky Bind distance.

  4. In the Channel Box, click makeNurbSphere1 in the INPUTS list, then adjust the sphere’s Radius value to see how a larger or smaller value would work.
    Note

    The sphere itself is just a temporary object and has no relevance to the muscle, other than to help you visualize the distance.

  5. 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, then select all of the NURBS muscles and the skin mesh.
  2. Select Muscle > Muscle Objects > Connect selected Muscle Objects.

    The Sticky Bind Maximum Distance window appears.

  3. 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, you can paint muscle weights the same way you painted bone/capsule weights.

Paint muscle weights

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

    The Muscle Paint window appears. Just like painting the capsule weights, you can use this window 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.

    A good way to paint muscle weight is to slowly add up weight from the bones onto the muscle.

  5. To start painting muscle weights:
    • 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.
    Tip

    You can also -click the Weight slider to select from preset weights in increments of 1/10th.

  6. Practice painting weights 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.
Tip

Don'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.

You can find the completed file for this lesson, DragonLeg_sticky_End.mb, in the Maya Muscle Advanced Techniques folder. This file also has an adjusted animation to display muscle deformation.

Beyond the lesson

In this lesson you learned how to:

Creative Commons License Except where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License