Go to: Synopsis. Return value. Keywords. Flags. Python examples.
deformerWeights([deformer=string], [export=boolean], [ignoreName=boolean], [im=boolean], [method=string], [path=string], [shape=string])
Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.
deformerWeights is undoable, queryable, and editable.
Command to import and export the deformer weights to simple XML file. The Weight data is store in a
per vertex fashion and reference into a point cloud of vertex data coming from the input geometry of the
the deformer. For example a cluster deformer would have the following information:
On import the weights are then maped back to the given deformer based on the method.
In query mode, return type is based on queried flag.
deformer, export
deformer, export, ignoreName, im, method, path, shape
Long name (short name) |
Argument types |
Properties |
export(ex)
|
boolean
|
|
|
Export the given deformer
|
|
im(im)
|
boolean
|
|
|
Import the given file to place weight on the listed deformer. See the method flag for details
on the weights will be mapped to the destination deformer.
|
|
path(p)
|
string
|
|
|
The path to the given file. Default to the current project.
|
|
shape(sh)
|
string
|
|
|
Specify the source deformed shape. CURRENTLY NOT SUPPORTED!
|
|
deformer(df)
|
string
|
|
|
Specify the deformer whose weights should be exported or imported.
|
|
method(m)
|
string
|
|
|
Set the method for find the weight of a given vertex on import. "index" method uses the vertex index to map
the weights onto the object. This is used when the object share the same topology as the exported data.
"nearest" method find the nearest vertex in the imported data set and set the weight value to that value. This
is best used when mapping a higher resolution mesh to a lower resolution. "barycentric" method is only support with
polygon meshes. It finds the nearest triangle of the target geometry and rescales the weights by how close the source point
is the the vertices. This is normally used with course mesh being mapped to a high resolution mesh. Note that the geometry
being used is not the shape node but rather the incoming geometry to the deformer. In the case of a skin cluster this would
be that bind pose.
|
|
ignoreName(ig)
|
boolean
|
|
|
Ignore the names of the layers on import, just use the order of the layers instead. This can be used for
case that joint names have been changed. Leaving it on only name that match on import will be write to the deformer.
|
|
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 plane and a cluster.
#
cmds.file( f=True,new=True )
cmds.polyPlane( ch=1, w=10, h=10, sx=5, sy=5, ax=(0,1,0) )
cmds.cluster('pPlane1', name='testCluster')
# Modify some weights on the -x side of the character
#
cmds.select( ['pPlane1.vtx[5]', 'pPlane1.vtx[11]', 'pPlane1.vtx[17]', 'pPlane1.vtx[23]'])
cmds.percent( 'testCluster', v=0.5 )
# export the weights from the cluster node
#
cmds.deformerWeights ("clusterWeights.xml", ex=True, deformer="testCluster")