Go to: Synopsis. Return value. Related. Flags. Python examples.

Synopsis

bindSkin( [objects] , [byClosestPoint=boolean], [byPartition=boolean], [colorJoints=boolean], [delete=boolean], [doNotDescend=boolean], [enable=boolean], [name=string], [partition=string], [toAll=boolean], [toSelectedBones=boolean], [toSkeleton=boolean], [unbind=boolean], [unbindKeepHistory=boolean], [unlock=boolean])

Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.

bindSkin is undoable, queryable, and editable.

This command binds the currently selected objects to the currently selected skeletons. Shapes which can be bound are: meshes, nurbs curves, nurbs surfaces, lattices, subdivision surfaces, and API shapes. Multiple shapes and multiple skeletons can be bound at once by selecting them or specifying them on the command line. Selection order is not important.

The skin is bound using the so-called "rigid" bind, in which the components are rigidly attached to the closest bone in the skeleton. Flexors can later be added to the skeleton to smooth out the skinning around joints.

The skin(s) can be bound either to the entire skeleton hierarchy of the selected joint(s), or to only the selected joints. The entire hierarchy is the default. The -tsb/-toSelectedBones flag allows binding to only the selected bones.

This command can also be used to detach the skin from the skeleton. Detaching the skin is useful in a variety of situations, such as: inserting additional bones, deleting bones, changing the bind position of the skeleton or skin, or simply getting rid of the skinning nodes altogether. The options to use when detaching the skin depend on how much of the skinning info you want to get rid of. Namely: (1) -delete or -unbind: remove all skinning nodes, (2) -unbindKeepHistory: remove the skinning sets, but keep the weights, (3) -disable: disable the skinning but keep the skinning sets and the weights.

Return value

string

In query mode, return type is based on queried flag.

Related

blendShape, boneLattice, copyFlexor, copySkinWeights, dagPose, flexor, skinCluster, skinPercent, wire, wrinkle

Flags

byClosestPoint, byPartition, colorJoints, delete, doNotDescend, enable, name, partition, toAll, toSelectedBones, toSkeleton, unbind, unbindKeepHistory, unlock
Long name (short name) Argument types Properties
byClosestPoint(bcp) boolean create
bind each point in the object to the segment closest to the point. The byClosestPoint and byPartition flags are mutually exclusive. The byClosestPoint flag is the default.
byPartition(bp) boolean create
bind each group in the partition to the segment closest to the group's centroid. A partition must be specified with the -p/-partition flag
colorJoints(cj) boolean create
In bind mode, this flag assigns colors to the joints based on the colors assigned to the joint's skin set. In delete and unlock mode, this flag removes the colors from joints that are no longer bound as skin. In disable and unbindKeepHistory mode, this flag does nothing.
delete(d) boolean create
Detach the skin on the selected skeletons and remove all bind- related construction history.
doNotDescend(dnd) boolean create
Do not descend to shapes that are parented below the selected object(s). Bind only the selected objects.
enable(en) boolean create
Enable or disable a bind that has been disabled on the selected skeletons. To enable the bind on selected bones only, select the bones and use the -tsb flag with the -en flag. This flag is used when you want to temporarily disable the bind without losing the set information or the weight information of the skinning, for example if you want to modify the bindPose.
name(n) string create
This flag is obsolete.
partition(p) string create
Specify a partition to bind by. This is only valid when used with the -bp/-byPartition flag.
toAll(ta) boolean create
objects will be bound to the entire selected skeletons. Even bones with zero influence will be bound, whereas the toSkeleton will only bind non-zero influences.
toSelectedBones(tsb) boolean create
objects will be bound to the selected bones only.
toSkeleton(ts) boolean create
objects will be bound to the selected skeletons. The toSkeleton, toAll and toSelectedBones flags are mutually exclusive. The toSkeleton flag is the default.
unbind(ub) boolean create
unbind the selected objects. They will no longer move with the skeleton. Any bindSkin history that is no longer used will be deleted.
unbindKeepHistory(ubk) boolean create
unbind the selected objects. They will no longer move with the skeleton. However, existing weights on the skin will be kept for use the next time the skin is bound. This option is appropriate if you want to modify the skeleton without losing the weighting information on the skin.
unlock(ul) boolean create
unlock the selected objects. Since bindSkin will no longer give normal results if bound objects are moved away from the skeleton, bindSkin locks translate, rotate and scale. This command unlocks the selected objects translate, rotate and scale.

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.

Python examples

import maya.cmds as cmds

# Create a joint chain and a polygonal plane.
cmds.select(d=True)
cmds.joint(p=(-3.0, 0.0,-12.0))
cmds.joint(p=(-3.0, 0.0, -5.0))
cmds.joint(p=(1.0, 0.0, 5.5))
cmds.joint(p=(6.0, 0.0, 10.0))
cmds.polyPlane(w=20.0,h=20.0,sx=25,sy=25)

cmds.select('joint1',add=True)

# to bind the selected objects to the selected skeleton
#
cmds.bindSkin()

# to bind nurbsSphere1 and pPlane1 to the skeleton containing joint2
#
cmds.bindSkin( 'nurbsSphere1', 'joint2', 'pPlane1' )

# to bind the selected partition to the selected skeleton
#
cmds.bindSkin( bp=True )

# to bind the selected objects to the selected bones only,
# not the entire skeleton
#
cmds.bindSkin( tsb=True )

# to detach the selected objects and delete any unused
# bindSkin history
#
cmds.bindSkin( unbind=True )

# to detach pPlane1 and delete any unused
# bindSkin history
#
cmds.bindSkin( 'pPlane1', unbind=True )

# to detach the selected objects and keep the history
#
cmds.bindSkin( unbindKeepHistory=True )

# To disable the skin on the selected skeletons. This gives
# the effect of detaching the skin without removing the
# bindSkin groups on the object. You can then modify the joint
# positioning, and enable the binding, keeping your original
# groups.
#
cmds.bindSkin( enable=False )

# to enable skin on a skeleton which has been disabled
#
cmds.bindSkin( enable=True )