Go to: Synopsis. Return value. Related.
Flags. Python
examples.
softMod( [objects] , [after=boolean], [afterReference=boolean], [before=boolean], [bindState=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],
[name=string], [parallel=boolean], [prune=boolean], [relative=boolean], [remove=boolean], [resetGeometry=boolean], [split=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,
curveInterpolation, curvePoint, curveValue, deformerTools, envelope, exclusive, falloffAroundSelection, falloffBasedOnX, falloffBasedOnY, falloffBasedOnZ, falloffCenter, falloffMasking, falloffMode, falloffRadius, frontOfChain, geometry, geometryIndices, ignoreSelected, name, parallel,
prune, relative, remove,
resetGeometry, split, weightedNode
Long name (short name) |
Argument types |
Properties |
name(n) |
string |
|
|
Used to specify the name of the node being created |
|
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. |
|
remove(rm) |
boolean |
|
|
Specifies that objects listed after the -g flag should be
removed from this deformer. |
|
before(bf) |
boolean |
|
|
If the default behavior for insertion/appending into/onto the
existing chain is not what you want then you can use this flag to
force the command to stick 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). |
|
after(af) |
boolean |
|
|
If the default behavior for insertion/appending into/onto the
existing chain is not what you want then you can use this flag to
force the command to stick 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
-after mode is used in adding the new deformer otherwise -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. |
|
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). |
|
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). |
|
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). |
|
ignoreSelected(ignoreSelected) |
boolean |
|
|
Tells the command to not deform objects on the current
selection list |
|
deformerTools(dt) |
boolean |
|
|
Returns the name of the deformer tool objects (if any) as
string string ... |
|
prune(pr) |
boolean |
|
|
Removes any points not being deformed by the deformer in its
current configuration from the deformer set. |
|
exclusive(ex) |
string |
|
|
Puts the deformation set in a deform partition. |
|
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. |
|
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. |
|
envelope(en) |
float |
|
|
Set the envelope value for the deformer. Default is 1.0 |
|
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. |
|
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. |
|
falloffRadius(fr) |
float |
|
|
Set the falloff radius of the softMod. |
|
falloffCenter(fc) |
[float, float, float] |
|
|
Set the falloff center point of the softMod. |
|
falloffMode(fom) |
int |
|
|
Set the falloff method used for the softMod. |
|
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. |
|
falloffAroundSelection(
fas) |
boolean |
|
|
Falloff will be calculated around any selected components |
|
falloffMasking(fm) |
boolean |
|
|
Deformation will be restricted to selected components |
|
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. |
|
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. |
|
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' )