pymel.core.animation.softMod

softMod(*args, **kwargs)

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.

Flags:
Long name (short name) Argument Types Properties
after (af) bool ../../../_images/create.gif ../../../_images/edit.gif
 

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) bool ../../../_images/create.gif ../../../_images/edit.gif
 

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.

before (bf) bool ../../../_images/create.gif ../../../_images/edit.gif
 

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

bindState (bs) bool ../../../_images/create.gif
 

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.

curveInterpolation (ci) int ../../../_images/create.gif
 

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 commandFlag can have multiple arguments, passed either as a tuple or a list.

curvePoint (cp) float ../../../_images/create.gif
 
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 ../../../_images/create.gif
 
Ramp value corresponding to the specified curvePoint position. This flag may only be used in conjunction with the curveInterpolation and curvePoint flags.
deformerTools (dt) bool ../../../_images/query.gif
 
Returns the name of the deformer tool objects (if any) as string string ...
envelope (en) float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Set the envelope value for the deformer. Default is 1.0
exclusive (ex) unicode ../../../_images/create.gif ../../../_images/query.gif
 
Puts the deformation set in a deform partition.
| .. |
fas)** | bool | .. image:: /images/create.gif |
 
Falloff will be calculated around any selected components
falloffBasedOnX (fbx) bool ../../../_images/create.gif
 
Falloff will be calculated using the X component.
falloffBasedOnY (fby) bool ../../../_images/create.gif
 
Falloff will be calculated using the Y component.
falloffBasedOnZ (fbz) bool ../../../_images/create.gif
 
Falloff will be calculated using the Z component.
falloffCenter (fc) float, float, float ../../../_images/create.gif
 
Set the falloff center point of the softMod.
falloffMasking (fm) bool ../../../_images/create.gif
 
Deformation will be restricted to selected components
falloffMode (fom) int ../../../_images/create.gif
 
Set the falloff method used for the softMod.
falloffRadius (fr) float ../../../_images/create.gif
 
Set the falloff radius of the softMod.
frontOfChain (foc) bool ../../../_images/create.gif ../../../_images/edit.gif
 

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) unicode ../../../_images/query.gif ../../../_images/edit.gif
 

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) bool ../../../_images/query.gif
 
Complements the -geometry flag in query mode. Returns the multi index of each geometry.
ignoreSelected (ignoreSelected) bool ../../../_images/create.gif
 
Tells the command to not deform objects on the current selection list
name (n) unicode ../../../_images/create.gif
 
Used to specify the name of the node being created
parallel (par) bool ../../../_images/create.gif ../../../_images/edit.gif
 

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) bool ../../../_images/edit.gif
 
Removes any points not being deformed by the deformer in its current configuration from the deformer set.
relative (rel) bool ../../../_images/create.gif
 
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) bool ../../../_images/edit.gif
 
Specifies that objects listed after the -g flag should be removed from this deformer.
resetGeometry (rg) bool ../../../_images/edit.gif
 

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.

split (sp) bool ../../../_images/create.gif ../../../_images/edit.gif
 

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

weightedNode (wn) unicode, unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

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.

Derived from mel command maya.cmds.softMod

Example:

import pymel.core as pm

import maya.cmds as cmds

# Create a softMod which uses the transformation of elbow1
#
pm.joint(p=(2,0,0),name="elbow1")
# Result: nt.Joint(u'elbow1') #
pm.joint(p=(4,0,0),name="wrist1")
# Result: nt.Joint(u'wrist1') #

pm.sphere()
# Result: [nt.Transform(u'nurbsSphere1'), nt.MakeNurbSphere(u'makeNurbSphere1')] #
pm.softMod( wn=('elbow1', 'elbow1') )
# Result: [nt.SoftMod(u'softMod1'), nt.Joint(u'elbow1')] #

# Edit softMod1 to use the transformation of wrist1.
#
pm.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".
#
pm.polyCube();
pm.softMod( rel=True )
# Result: [nt.SoftMod(u'softMod2'), nt.Transform(u'softMod2Handle')] #

# 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).
#
pm.listConnections( 'softMod1', type='objectSet' )
# Result: [nt.ObjectSet(u'softMod1Set')] #
pm.sets( 'pCube2', add='softMod1Set' )
pm.sets( 'pCube1', rm='softMod1Set' )

Previous topic

pymel.core.animation.snapshot

Next topic

pymel.core.animation.sound

Core

Core Modules

Other Modules

This Page