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