Go to: Synopsis. Return value. Related. Flags. Python examples.
softMod(
[objects]
, [after=boolean], [afterReference=boolean], [before=boolean], [bindState=boolean], [components=boolean], [curveInterpolation=int], [curvePoint=float], [curveValue=float], [deformerTools=boolean], [envelope=float], [exclusive=string], [falloffAroundSelection=boolean], [falloffBasedOnX=boolean], [falloffBasedOnY=boolean], [falloffBasedOnZ=boolean], [falloffCenter=[float, float, float]], [falloffMasking=boolean], [falloffMode=int], [falloffRadius=float], [frontOfChain=boolean], [geometry=string], [geometryIndices=boolean], [ignoreSelected=boolean], [includeHiddenSelections=boolean], [name=string], [parallel=boolean], [prune=boolean], [relative=boolean], [remove=boolean], [resetGeometry=boolean], [selectedComponents=boolean], [split=boolean], [useComponentTags=boolean], [weightedNode=[string, string]])
Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.
softMod is undoable, queryable, and editable.
The softMod command creates a softMod or edits the membership of
an existing softMod. The command returns the name of the softMod
node upon creation of a new softMod.
string | [] (the softMod node name and the softMod handle name) |
In query mode, return type is based on queried flag.
cluster, deformer, lattice, sculpt, wire, wrinkle
after, afterReference, before, bindState, components, curveInterpolation, curvePoint, curveValue, deformerTools, envelope, exclusive, falloffAroundSelection, falloffBasedOnX, falloffBasedOnY, falloffBasedOnZ, falloffCenter, falloffMasking, falloffMode, falloffRadius, frontOfChain, geometry, geometryIndices, ignoreSelected, includeHiddenSelections, name, parallel, prune, relative, remove, resetGeometry, selectedComponents, split, useComponentTags, weightedNode
Long name (short name) |
Argument types |
Properties |
|
after(af)
|
boolean
|
|
|
If the default behavior for insertion/appending into/onto
the existing chain is not the desired behavior then this flag
can be used to force the command to place the deformer
node after the selected node in the chain even if
a new geometry shape has to be created in order to do so.
Works in create mode (and edit mode if the deformer has
no geometry added yet).
|
|
afterReference(ar)
|
boolean
|
|
|
The -afterReference flag is used to specify deformer ordering in a hybrid way that
choses between -before and -after automatically. If the geometry being
deformed is referenced then the -after mode is used when adding the new deformer,
otherwise the -before mode is used. The net effect when using -afterReference to build
deformer chains is that internal shape nodes in the deformer chain will only
appear at reference file boundaries, leading to lightweight deformer networks that
may be more amicable to reference swapping.
|
|
before(bf)
|
boolean
|
|
|
If the default behavior for insertion/appending into/onto
the existing chain is not the desired behavior then this flag
can be used to force the command to place the deformer
node before the selected node in the chain even if
a new geometry shape has to be created in order to do so.
Works in create mode (and edit mode if the deformer has
no geometry added yet).
|
|
bindState(bs)
|
boolean
|
|
|
Specifying this flag adds in a compensation to ensure
the softModed objects preserve their spatial position
when softModed. This is required to prevent the geometry
from jumping at the time the softMod is created
in situations when the
softMod transforms at softMod time are not identity.
|
|
components(cmp)
|
boolean
|
|
|
Returns the components used by the deformer
|
|
curveInterpolation(ci)
|
int
|
|
|
Ramp interpolation corresponding to the specified curvePoint position.
Integer values of 0-3 are valid, corresponding to "none", "linear", "smooth"
and "spline" respectively.
This flag may only be used in conjunction with the curvePoint and curveValue
flag.
|
|
curvePoint(cp)
|
float
|
|
|
Position of ramp value on normalized 0-1 scale.
This flag may only be used in conjunction with the curveInterpolation and
curveValue flags.
|
|
curveValue(cv)
|
float
|
|
|
Ramp value corresponding to the specified curvePoint position. This flag
may only be used in conjunction with the curveInterpolation and curvePoint
flags.
|
|
deformerTools(dt)
|
boolean
|
|
|
Returns the name of the deformer tool objects (if any)
as string string ...
|
|
envelope(en)
|
float
|
|
|
Set the envelope value for the deformer. Default is 1.0
|
|
exclusive(ex)
|
string
|
|
|
Puts the deformation set in a deform partition.
|
|
falloffAroundSelection(fas)
|
boolean
|
|
|
Falloff will be calculated around any selected components
|
|
falloffBasedOnX(fbx)
|
boolean
|
|
|
Falloff will be calculated using the X component.
|
|
falloffBasedOnY(fby)
|
boolean
|
|
|
Falloff will be calculated using the Y component.
|
|
falloffBasedOnZ(fbz)
|
boolean
|
|
|
Falloff will be calculated using the Z component.
|
|
falloffCenter(fc)
|
[float, float, float]
|
|
|
Set the falloff center point of the softMod.
|
|
falloffMasking(fm)
|
boolean
|
|
|
Deformation will be restricted to selected components
|
|
falloffMode(fom)
|
int
|
|
|
Set the falloff method used for the softMod.
|
|
falloffRadius(fr)
|
float
|
|
|
Set the falloff radius of the softMod.
|
|
frontOfChain(foc)
|
boolean
|
|
|
This command is used to specify that the new deformer
node should be placed ahead (upstream) of existing deformer
and skin nodes in the shape's history (but not ahead of
existing tweak nodes). The input to the
deformer will be the upstream shape rather than the visible
downstream shape, so the behavior of this flag is the most
intuitive if the downstream deformers are in their reset
(hasNoEffect) position when the new deformer is added.
Works in create mode (and edit mode if the deformer has
no geometry added yet).
|
|
geometry(g)
|
string
|
|
|
The specified object will be added to the list of
objects being deformed by this deformer object, unless
the -rm flag is also specified. When queried, this flag
returns string string string ...
|
|
geometryIndices(gi)
|
boolean
|
|
|
Complements the -geometry flag in query mode. Returns
the multi index of each geometry.
|
|
ignoreSelected(ignoreSelected)
|
boolean
|
|
|
Tells the command to not deform objects on the
current selection list
|
|
includeHiddenSelections(ihs)
|
boolean
|
|
|
Apply the deformer to any visible and hidden objects in the selection list.
Default is false.
|
|
name(n)
|
string
|
|
|
Used to specify the name of the node being created.
|
|
parallel(par)
|
boolean
|
|
|
Inserts the new deformer in a parallel chain to any existing deformers in
the history of the object. A blendShape is inserted to blend the parallel
results together.
Works in create mode (and edit mode if the deformer has
no geometry added yet).
|
|
prune(pr)
|
boolean
|
|
|
Removes any points not being deformed by the deformer in
its current configuration from the deformer set.
|
|
relative(rel)
|
boolean
|
|
|
Enable relative mode for the softMod. In relative mode,
Only the transformations directly above the softMod are used
by the softMod. Default is off.
|
|
remove(rm)
|
boolean
|
|
|
Specifies that objects listed after the -g flag should
be removed from this deformer.
|
|
resetGeometry(rg)
|
boolean
|
|
|
Reset the geometry matrices for the objects being deformed
by the softMod. This flag is used to get rid of undesirable
effects that happen if you scale an object that
is deformed by a softMod.
|
|
selectedComponents(cms)
|
boolean
|
|
|
Returns the components used by the deformer that are currently selected.
This intersects the current selection with the components affected by the deformer.
|
|
split(sp)
|
boolean
|
|
|
Branches off a new chain in the dependency graph instead
of inserting/appending the deformer into/onto an
existing chain.
Works in create mode (and edit mode if the deformer has
no geometry added yet).
|
|
useComponentTags(uct)
|
boolean
|
|
|
When this flag is specified a setup using componentTags will be created.
This means no groupId, groupParts, tweak or objectSet nodes will be
created and connected to the new deformer.
|
|
weightedNode(wn)
|
[string, string]
|
|
|
Transform node in the DAG above the softMod to which all percents are
applied. The second node specifies the descendent of the first node
from where the transformation matrix is evaluated. Default is the
softMod handle.
|
|
Flag can appear in Create mode of command
|
Flag can appear in Edit mode of command
|
Flag can appear in Query mode of command
|
Flag can have multiple arguments, passed either as a tuple or a list.
|
import maya.cmds as cmds
# Create a softMod which uses the transformation of elbow1
#
cmds.joint(p=(2,0,0),name="elbow1")
cmds.joint(p=(4,0,0),name="wrist1")
cmds.sphere()
cmds.softMod( wn=('elbow1', 'elbow1') )
# Edit softMod1 to use the transformation of wrist1.
#
cmds.softMod( 'softMod1', e=True, wn=('wrist1', 'wrist1') )
# Create a relative softMod with its own softMod handle. The
# softMod handle is drawn as the letter "S".
#
cmds.polyCube();
cmds.softMod( rel=True )
# Modify the membership of an existing softMod. First, find
# the name of the softMod's associated set, then use the sets
# command to edit the set membership (add a cube and remove a plane).
#
cmds.listConnections( 'softMod1', type='objectSet' )
# Result:[u'softMod1Set'] #
cmds.sets( 'pCube2', add='softMod1Set' )
cmds.sets( 'pCube1', rm='softMod1Set' )