cMuscleCreator node
 
 
 

This is a dependency node that calculates the necessary NURBS surface to create a new muscle. Effectively, this node outputs the current shape of the muscle based on input curves and other attributes.

Below are descriptions of the attributes in the cMuscleCreator node.

Cross Sections

Sets the number of cross sections on the final NURBS geometry muscle. Note this is different than the actual cross section curves/controls. Cross section curves/controls can only be set before creation in the Muscle Creator window.

Sides

Sets the number of points around the NURBS muscle.

Tolerance

Sets the precision the cMuscleCreator node uses internally for dealing with things like muscle length. Defaults to 24. Higher values are more precise. You do not have to change this value.

Up Axis

Since the cMuscleCreator node automatically drives the attach points, it needs to know how to handle twisting/rotation. This attribute determines which cross axis is used. If you observe problems with flipping, you can change this axis to adjust the orientation of the controls.

Flat Cross Sections

Sets whether the cross section curve points drive the surface based only on their X-Z locations, or their 3D positions.

on

The cross section curves, even if modeled in 3D, only affect the muscle in a flat way.

off

Moving a cross section point along the length of the muscle also sculpts the muscle points along its length.

Show Controls

Turns the visibility of the related controls for the muscle on and off.

Show Rest Movers

Turns the visibility of the related rest shapes for the muscle on and off.

Show Squash Movers

Turns the visibility of the related squash shapes for the muscle on and off.

Show Stretch Movers

Turns the visibility of the related stretch shapes for the muscle on and off.

Gravity Strength

Each “Attach Rest” control for the muscle has a gravity attribute to set how much each cross section is affected by gravity. This attribute is a multiplier to make the muscle move due to gravity.

Gravity Jiggle

Causes the muscle to move more in the direction of gravity when jiggle occurs.

Gravity Cycle

Affects the cycle rate of the muscle as it moves towards gravity to make it appear slower at the top.

GravityX/Y/Z

Set the direction of gravity. Defaults to negative Y.

Based On

Sets how the muscle determines what state it is in (rest, squash or stretch).

length

Only the length of the muscle (based on the attach controls) drives the state of the muscle.

pose

Only the pose data set (if you have stored poses using the Rest, Squash, Stretch buttons) are used.

pose or length

Length is used until the pose buttons have been stored, then the pose data is used instead. This is the default state.

Interp Mode

Sets how the muscle state interpolates between the three states.

linear

Gives linear interpolation. This is the default.

smooth-step

Gives a smoother interpolation of the states.

animCurve

Lets you adjust an Sq and St curve using Maya’s Graph Editor to set the rate at which the muscle state changes from rest to squash or rest to stretch.

Pose Uses

If you are using the pose state of the muscle, (you have used the pose buttons rather than length of the curve), this determines how the state is read. The pose can be determined by the angle of the child bone to the parent, the relative position, or both.

Pose Read Axis

Sets which axis of the bones to use for reading the pose.

Pose Use Twist

Sets whether or not twisting away from the pose state returns the muscle to the default state. Defaults to off.

Def Width Start/Def Width End

The default distances for the start/end locators of the muscle. These can be automatically set using the Reset Width button in the Pose section of the window. This information is used when autoWiden is used.

Len Default/Len Squash/Len Stretch

Represent the distance of the implied muscle curve based on the positions of the muscle attach controls. When using “length” to determine the state of the muscle, these values inform the muscle which state it is in.

Auto Rotate

Sets the muscle controls and attach curves so that the controls can automatically rotate as needed.

Auto Widen

Moving the original attach points at either end of the muscle make the last span of the muscle stretch. If you want to have the entire muscle widen or narrow based on this distance, you can turn autoWiden up. This causes the entire muscle to scale out if the start/end attach points move.

Dampen On Squash/Dampen On Stretch

Cause muscle jiggle and cycle to dampen as the muscle goes into a squash or stretch state to help simulate tension in the muscle.

Manual Sq St

An animation control that lets you manually scale the muscle into its squash or stretch cross sections regardless of the pose it is in. Negative values cause it to stretch, positive values cause it to squash.

Linear Auto Squash/Linear Auto Stretch

Even if you have set or adjusted the attach positions for the muscle, you can override your settings with these attributes. This causes the muscle cross sections to go into a linear position from start to end as the state of the muscle hits the squash or stretch pose.

User Scale

This attribute can be connected into the main scaling node of your rig to support a rig scale on the muscles.

Reset Frame

Sets the frame at which jiggle starts. Jiggle is disabled at any frame on or before this value. You can animate this with a stepped key so that if you are animating multiple shots in one Maya file and the character moves suddenly, you do not get unwanted jiggle.

Related topics