This is a deformer node that implements the main skin deformer node. It supports multiple connections from cMuscleObject, cMuscleDirection and cMuscleSmartCollide nodes for basic skinning and Sliding. It can also operate standalone for Caching, Relax, Jiggle, Self Collision and so on.
The Muscle skin deformer has several important attributes that are not all directly tied to any specific feature.
This option turns on the display of warning messages output to the script editor. This is an important option, as it lets you know if you have sticky weights set for muscles that were not bound properly to the points. When this occurs, Muscle deformation can slow down. To see if you have invalid bindings, turn on showWarnings and examine the script editor. You can then select Muscle > Skin Setup > Auto-Fix Invalid Sticky Bind Points from the main menu bar to correct them.
The Muscle deformer includes the following attributes that affect how Sticky deformation works:
Relative Sticky
Lets you select whether Relative Sticky mode is on or off.
Turns Relative Sticky mode on. cMuscleObjects are deformed in such a way that you do not get a double-transform when a skinCluster is used below Muscle.
For more information, refer to Relative Sticky deformation.
Since Muscle Objects can have their Sticky values affected by their Sticky Strength attribute, and because you can choose not to normalize weights with Relative Sticky mode, you can force normalization of the weighting during deformation. When on, all Sticky weight values are normalized to 1.0 during deformation.
These attributes determine which set of Sticky weights you are using. These values can be blended, although you typically have only one set on at a time. The values for these attributes are internally normalized so that you do not get a double transform. For example, setting stickyA/B/C to 1, 1, 0, actually results in a 0.5 0.5 0 result.
The following are the basic Sliding settings on the Muscle deformer:
Quality
Sets the quality of the sliding calculations. Higher values look better but are slower.
All objects including both polygon meshes and NURBS objects are converted to capsules internally. This provides some idea of what sliding looks like, although it is not very accurate. For best results, your geometry of any polygon objects should have the length of the geometry down the object’s local Y-axis. This gives the most accurate capsule replacement.
Normally, sliding only occurs when a capsule/bone/muscle pushes outward farther than the surface of the mesh. The Shrink Wrap attribute lets sliding occur even if the objects are lower than the skin. In effect, it causes the skin to look not only outside but also inside, and moves the skin mesh to the object that is the farthest out. This can be useful to get tighter muscle definition, or even as a modeling tool. If there is no object to slide onto, the point is left where it is.
Stores the fat offset of the skin mesh to the closest bone/muscle and uses that offset throughout the deformation, even if the point is slid by another muscle.
See Set a constant fat offset for Sliding deformation for more information.
Determines how the Collisions attributes for other deformation features work. For example, when a Smooth operation is done, you can have it smooth, but still “re-slide” with muscles still colliding against muscles or bones that are sliding on the surface of the mesh. When enabled, these “re-collisions” not only include sliding muscles/bones, but also include displace nodes. When off, operations like Jiggle, Relax and Smooth do not re-compute displacement deformation even if their Collision mode is set to on.
Typically 0 to 1. This sets how much the wind effect is noisy versus just the painted weight value. At a value of 0, the points simply move in the wind direction with no visible noise. At 1, the points move in a random way, with the noise changing based on the windSpeed. Values over 1 cause extra displacement.
The following are the Muscle deformer settings for Jiggle:
Sets the base frame at which (and earlier), Jiggle has no effect and is reset. This can be useful if you are animating more than one shot in a file, and the character moves rapidly from one frame to the next. You can key this value with a stepped keyframe to adjust it to reset at the start of each shot.
The following are the Muscle deformer settings for Relax:
When on, collisions with sliding bones or muscles occur during relax calculations. This often gives the desired result of Relax when sliding is used. The enableSliding attribute must be on for this to work. Collisions also occur with displace nodes if collisionDisplace is on and displacement is in use.
Sets the number of calculations performed for Relax. Higher values are more accurate and stable, but take longer. Values in the range from 8 to 64 usually work well. Often, a middle value of 24 or 36 provides enough stability and deformation. If increasing the number only changes the mesh slightly, using the lower value usually suffices.
The following are the Muscle deformer settings for Smooth:
When on, collisions with sliding bones or muscles occur during Smooth calculations. This often gives the desired result of Smooth when sliding is used. The enableSliding attribute must be on for this to work. This also collides with the cMuscleDisplace node if Displace mode is active and collisionsDisplace is on.
Sets the number of calculations performed for smooth. Higher values cause more smoothing, but take longer. Values in the range from 8 to 64 usually work well. A middle value of 24 or 36 often provides enough stability and deformation. If increasing the number only changes the mesh slightly, using the lower value usually suffices.