Muscle Builder window
 
 
 

This window lets you build a valid NURBS surface attached to two objects with editable cross sections. When finished, the window also provides an easy way to adjust parameters for both the simple muscle and any deformers applied.

This window is the original muscle creation tool for cMuscleSystem and is provided for those who still want to use the older spline deformer.

Build tab

The Build tab lets you choose where and how to generate a basic NURBS surface muscle. Generally, you want two joints or capsules to attach the muscle to. These joints should have their alignment with the local Y-axis pointing down the length.

Attach Obj 1/Attach Obj 2

Once a muscle is built, selecting this lets you select and then interactively move the attachment locator for either end of the muscle.

<<< (Load selection)

The button loads the selected object into the text field to specify where the muscle is built and attached to.

At

Specifies where the joint is located along the Y-length of the attach object.

Off X

Specifies where the muscle attachment is located along the attach object’s local X-axis.

Off Z

Specifies where the muscle attachment is located along the attach object’s local Z-axis.

nSpans

Sets the number of cross sections down the length of the muscle. If changed, you must click Build/Update again to update the NURBS muscle.

nSegs

Sets the number radial sections around the muscle. If changed, you must click the Build/Update button to update the NURBS muscle.

Width

Alters the overall width of the muscle.

Falloff

Adjusts the scaling at the ends of the muscle. Lower values make the ends of the muscle rounder and thicker, larger values make the ends of the muscle thinner.

Build/Update

Creates or updates the muscle.

Delete

Cancels the build operation and deletes any muscle geometry, cross sections, and insertion locators.

Cross Section tab

The Cross Section tab lets you edit the cross section curves of the muscle you are building, letting you customize the shape of the muscle.

The following are the settings in the Cross Section tab:

Cross Section list

Lets you select one or more spans to adjust or edit. When not in Editing mode, it selects the span. When in Editing mode, it highlights and allows point manipulation of the cross section span(s).

Edit Cross Section/EDITING

Lets you go into Component mode to directly manipulate points of the cross sections of the muscle.

cMuscleBuilderCamera viewports

The tab has built-in camera views that automatically isolate the cross sections of the muscle as it is being built. You can manipulate points in these views, or you can adjust the cross sections or NURBS surface directly in any scene view.

Finalize tab

The Finalize tab finishes the muscle building process, and converts the NURBS surface into a shape that is usable with the Muscle skin deformer. Until a muscle is finalized, it is not yet connectable or usable as a muscle, and does not have any muscle deformation applied.

The Finalize tab lets you choose which muscle deformer to apply and the options for it. It also converts the NURBS mesh to have a Muscle Object shape node so that it can work with the Muscle deformer. Finally, it rigs the muscle with the deformer, constraining it to the original attach objects or joints, and places it within a basic muscle rig hierarchy in the Maya scene.

The following are the settings in the Finalize tab:

Deformer

Specifies which deformer is used when rigging the muscle. The cMuscleSplineDeformer is the preferred method, as it is more powerful and flexible.

Num Controls

If you specified the cMuscleSplineDeformer, you can define how many controls to create for the muscle. You must have at least two, one for each end. Typically three or more are used to get extra control or jiggle in the middle of the muscle.

Type

Specifies the type of control curve shape for the controls on the muscle. This is for display purposes only, as changing this setting does not alter the output of how the muscle deforms or looks.

Create Mirrored Muscle

Specifies whether to create a second muscle for symmetric rigging, mirrored along the specified world axis.

Search/Replace

When building a mirrored muscle, sets the naming convention used for determining where to build the mirrored copy and how to name it.

Convert to Muscle button

When ready to finalize the building of your muscle, clicking this button deletes any related building curves and nodes, then converts the NURBS surface to a compatible Maya Muscle object.

Muscle Parameters tab

The Muscle Parameters tab lets you update or change parameters on selected muscle objects. This includes cMuscleObject node changes, as well as changes to any Muscle Spline deformer or Muscle Stretch deformers.

This tab is divided into five main sections, one for Muscle Object changes, one for basic Stretch setting for both the Muscle Spline deformer and the Muscle Stretch deformer, one for spline length for the Muscle Spline deformer only, one for Jiggle presets for both deformers, and finally a basic Copy/Paste option that lets you copy all of these settings from one object to another.

NoteYou can also alter these values directly in the Channel Box or Attribute Editor for the related nodes.

The following are the settings in the Muscle Parameters tab:

Generic Settings

Realtime Update

If on, changes you make in the Muscle Parameters tab are automatically applied to any selected muscles. If a muscle is selected, its values are automatically loaded into the window. If off, you must click the Load and Apply buttons to apply settings.

Muscle Object Settings

Strength

When used with the Muscle skin deformer, this controls the sliding strength from this object. Generally this value is set to 1.0.

Fat

When used with the Muscle skin deformer, this defines an offset from the surface of the object to the skin mesh that is pushed when sliding is used. For example when fat is set to zero, the skin does not push out until the surface of the capsule, bone or muscle touches it. When you increase the fat value, a gap is created between the capsule, bone or muscle, and the skin.

Reverse Normals

When used with the Muscle skin deformer, this changes the sliding effect to cause points to push inside of the muscle instead of outside. Typically, this attribute is set to off.

Radius

For capsules, this sets the main radius or size of the capsule.

Length

For capsules, this sets the length of the capsule. If a capsule End-Locator is created, it automatically drives this value based on distance.

Capsule Axis

For capsules, sets which axis the capsule length uses.

Draw

Specifies what is drawn on screen.

off

Nothing is drawn.

fat

The object is drawn at its fat distance, or showing the offset where the skin sits if sliding is used.

muscle

Shows the true radius of the capsule without the fat added, or the true surface of the polygon object or NURBS muscle.

Shaded

Sets how the drawing occurs in the scene view.

wireframe-only

Objects draw as a wireframe even when in Shaded mode.

shaded

Objects are drawn in wireframe if the scene view is in wireframe, and shaded when the scene is in shaded view.

wireframe-and-shaded

The object is drawn the same way, except it draws the wireframe on top of the shaded object in Shaded mode.

Highlight wire

Maya highlights selected objects in white or green by default. When this value is 1, the wireframe for selected objects is highlighted the same way. When set to 0, no highlighting occurs, so the wireframe color does not change when the object is selected.

Highlight Shaded

The same as above, but this controls whether the shaded color and object are highlighted when selected.

nSeg

Controls how many segments down the length of the capsule are drawn. Even though more or less segments are drawn, with sliding effects a true smooth capsule is always used, so this parameter affects drawing only, not deformation.

nSides

Controls how many sides around the diameter of the capsule are drawn. Even though more or less segments are drawn, with sliding effects a true smooth capsule is always used, so this parameter affects drawing only, not deformation.

Load Selected

Loads the values for the currently selected muscle. If Realtime Update is on, this happens automatically when the selection changes.

Apply Muscle Object Values

Applies the current values onto all selected muscles. If Realtime Update is on, this happens automatically when a value in the Muscle Parameters tab changes.

Stretch Volume Presets

Default/Small/Medium/Large

Set all of the values for Squash and Stretch to a preset value.

Squash-X/Squash-Z

Set the scaling of the overall start/middle/end of the muscle as its length gets shorter. These settings work for both Muscle Spline deformer and Muscle Stretch deformed objects. For Muscle Stretch deformed objects, the average of the X and Z is used, since Muscle Stretch does not have separate X and Z settings.

Stretch-X/Stretch-Z

Set the scaling of the overall start/middle/end of the muscle as its length increases. These settings work for both Muscle Spline deformer and Muscle Stretch deformed objects. For Muscle Stretch deformed objects, the average of the X and Z is used, since Muscle Stretch does not have separate X and Z settings.

Up Axis

Specifies which axis is used for the Up-Vector for the start/end aim. Also sets which axis is the Up-Vector for Muscle Spline deformer controls. If you see flipping or twisting on a muscle, changing this value can correct it.

aimStart/aimEnd

For muscles built with the Muscle Builder window, this sets the amount that the start or end of the muscle either aims towards the opposite end, or stays as if it was parented to the joint.

Load Selected

Loads the values of the currently selected muscle. If Realtime Update is on, this happens automatically when the selection changes.

Apply Stretch Values

Applies the current values to all selected muscles. If Realtime Update is on, this happens automatically when a value in the window is changed.

Spline Length Settings

Set Current as Default

Sets the current length of the muscle as its default length. Since this is typically set when the Muscle Spline deformer is applied, this is not usually necessary.

Set Current as Squash

Sets the current length of the muscle as its minimum squash length. When a Muscle Spline deformer object gets to this length, its Squash Volume setting is fully on. If it squashes more, the scale factor does not change.

Set Current as Stretch

Sets the current length of the muscle as its maximum stretch length. When a Muscle Spline deformer object gets to this length, its Stretch Volume setting is fully on. If it stretches more, the scale factor does not change.

Jiggle Presets

Default/Light/Medium/Heavy/OFF

Sets all of the basic Jiggle parameters to a preset value.

NoteIf you have a Muscle Spline deformer object with more than three controls, the Start/Mid/End values are interpolated smoothly along the length of the muscle.
Jiggle

Sets the overall strength of the jiggle on each part of the muscle. Bigger values create more motion.

Cycle

The number of frames it takes the muscle to bounce. Smaller values make the muscle bounce faster, higher values make it bounce slower over more frames.

Rest

The number of frames it takes the muscle to come to rest. Smaller values make the muscle stop jiggling more quickly, higher values make the muscle continue to jiggle longer.

Dampen On Squash

Controls how the muscle behaves with jiggle as its length changes. When set to 0, the jiggle values are applied as they are set. When set to 1, the jiggle amount dampens down and the cycle gets faster as the muscle gets squashed. This makes the muscle look more like it is applying pressure since the jiggle stops as the muscle contracts.

Dampen On Stretch

Controls how the muscle behaves with jiggle as its length changes. When set to 0, the jiggle values are applied as they are set. When set to 1, the jiggle amount dampens down and the cycle gets faster as the muscle gets stretched. This makes the muscle look more like it is applying pressure, since the jiggle stops as the muscle expands.

Load Selected

Loads the current values for the selected muscle. If Realtime Update is on, this happens automatically when the selection changes.

Apply Jiggle Values

Applies the current values from the window onto all currently selected muscles. If Realtime Update is on, this happens automatically when a value in the window is changed.

Copy/Paste Muscle Settings

Copy from Selection

Copies all settings from the currently selected muscle into the clipboard.

Paste to Selected

Pastes all values from the clipboard onto the selected muscles.

Related topics