Sticky deformation
 
 
 

One of the main uses for the Muscle deformer is as an addition or replacement for the Maya skinCluster. This node gives similar skinning techniques for capsules/joints, as well as polygon bones. It also lets you attach points to the surface of NURBS objects for more control over deformation.

The overall process is similar in that you apply the Muscle deformer to your mesh, convert objects to Muscle Objects that are then connected, and finally weight your points to the muscle/bone objects.

You can also use Relative Sticky mode to apply only new influences such as muscles to your mesh without getting a double transform. See Relative Sticky deformation.

Sticky weights

Sticky weights function similarly to Maya skinClusters, but they are more powerful. They allow you to attach the points of your skin mesh directly to a muscle, bone, or capsule. These weights are usually normalized, which means that the overall weights for a point need to add up to exactly 1.0 for all muscles/bones the point is weighted to. If they add up to less, the point gets left behind when the skeleton is moved. If they add up to more, they move too much.

Sticky weights operate differently depending on what type of object you are weighting to:

Sticky Weights with capsules/polygon bones

When weighting a point with sticky weights to a capsule or polygon bone, only the transformation of that object causes the point to move. That is, only translating, rotating or scaling that object affects the skin. This is similar to Maya weights.

Sticky Weights with NURBS muscles

When weighting a point with Sticky weights to a NURBS muscle, the point is actually attached to the surface of the muscle. Therefore, the skin moves even if only the surface shape changes or points on the muscle adjust, in addition to any transformation on the muscle itself. This means if the muscle pivot stays at the same spot, but the shape of the muscle changes, the skin is still affected. Typically, the muscle deforms with a proprietary Muscle-based deformer and squashes or stretches. As this happens, any points that are Sticky weighted to the muscle move along with the surface, including if the muscle jiggles. You can also set up NURBS objects to deform or move with other tools such as a blendshape.

NoteThe first time you paint Sticky weights on your object, you must select your main base or root bone, set the weight to 1.0, and click Set Weight/Flood. This floods the bone or object to have 100% of all the weight. If you do not do this initially, you may see points move incorrectly when painting, since they may not have a truly normalized weight of 1.0 even though the Normalize button is on.

Muscle provides you with three sets of Sticky weights: Sticky, StickyB, and StickyC. Each one functions as a normal Sticky weight, but you can use each set to paint different effects.

Some example workflows for using multiple Sticky weight sets:

  • Weight one set to bones only, and another to bones and muscles, allowing animators to switch between the two modes.
  • For a character that often needs a different weight set, such as for sitting in a chair, paint a secondary set of weights for those shots.
  • Weight only bones or capsules to the Sticky weight set, then save and load weights from the Sticky set to the StickyB set so that they match. Add more weights in the StickyB set for muscles. The Sticky set is purely rigid like a Maya skinCluster, while the StickyB set is the regular full weighting.
    TipYou can load and save Sticky weights across the sets using the Save Weights window. See Load and save weights.

Visualize Sticky Bind distance

When you bind a NURBS muscle to a Muscle deformer, you can select which points are bound and thus weightable to the muscle based on distance. The Muscle plug-in provides a way to see what the default distance is based on a sphere. Any points within the sphere's radius are usable if the Auto-Calculate mode is used. You can also manually adjust the sphere radius to see if other values might work better, if you are going to specify your own value.

Note that this is providing the skin point the ability to be properly Sticky weighted to the muscle. It does not actually set up any default weighting. This simply allows the point to work properly with Sticky weighting to the given NURBS muscle. If the point is not within the range allowed during bind, and later on Sticky weights are painted to it, the Muscle deformer calculates the binding on the fly, slowing down Sticky deformation speed.

TipYou can detect and fix errors with Sticky binding using Muscle > Skin Setup > Auto-Fix Invalid Sticky Bind Points.

Related topics