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

Synopsis

skinCluster [-addInfluence string] [-after] [-baseShape string] [-before] [-deformerTool] [-dropoffRate double] [-exclusive] [-frontOfChain] [-geometry string] [-ignoreBindPose] [-ignoreHierarchy] [-ignoreSelected] [-influence string] [-lockWeights boolean] [-maximumInfluences int] [-name string] [-nurbsSamples int] [-obeyMaximumInfluences boolean] [-polySmoothness double] [-prune] [-remove] [-removeInfluence string] [-removeUnusedInfluence boolean] [-split] [-toSelectedBones] [-toSkeletonAndTransforms] [-unbind] [-unbindKeepHistory] [-useGeometry] [-weight double] [-weightedInfluence] objects

skinCluster is undoable, queryable, and editable.

The skinCluster command is used for smooth skinning in maya. It binds the selected geometry to the selected joints or skeleton by means of a skinCluster node. Each point of the bound geometry can be affected by any number of joints. The extent to which each joint affects the motion of each point is regulated by a corresponding weight factor. Weight factors can be modified using the skinPercent command. The command returns the name of the new skinCluster.
The skinCluster binds only a single geometry at a time. Thus, to bind multiple geometries, multiple skinCluster commands must be issued.
Upon creation of a new skinCluster, the command can be used to add and remove transforms (not necessarily joints) that influence the motion of the bound skin points.
The skinCluster command can also be used to adjust parameters such as the dropoff, nurbs samples, polygon smoothness on a particular influence object. Note: Any custom weights on a skin point that the influence object affects will be lost after adjusting these parameters.

Flags

addInfluence, after, baseShape, before, deformerTool, dropoffRate, exclusive, frontOfChain, geometry, ignoreBindPose, ignoreHierarchy, ignoreSelected, influence, lockWeights, maximumInfluences, name, nurbsSamples, obeyMaximumInfluences, polySmoothness, prune, remove, removeInfluence, removeUnusedInfluence, split, toSelectedBones, toSkeletonAndTransforms, unbind, unbindKeepHistory, useGeometry, weight, weightedInfluence
Long name (short name) [argument types] Properties
-name(-n) string create
Used to specify the name of the node being created
-geometry(-g) string queryedit
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 ...

In query mode, this flag needs a value.

-remove(-rm) edit
Specifies that objects listed after the -g flag should be removed from this deformer.
-before(-bf) create
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
-after(-af) create
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
-split(-sp) create
Branches off a new chain in the dependency graph instead of inserting/appending the deformer into/onto an existing chain.
-frontOfChain(-foc) create
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.
-ignoreSelected(-is) create
Tells the command to not deform objects on the current selection list
-deformerTool(-dt) query
Returns the name of the deformer tool objects (if any) as string string ...

In query mode, this flag needs a value.

-prune(-pr) edit
Removes any points not being deformed by the deformer in its current configuration from the deformer set.
-exclusive(-ex) createquery
Puts the deformation set in a deform partition.

In query mode, this flag needs a value.

-addInfluence(-ai) string edit
The specified transform or joint will be added to the list of transforms that influence the bound geometry. The maximum number of influences will be observed and only the weights of the cv's that the specified transform effects will change. This flag is multi-use.
-removeInfluence(-ri) string edit
Remove the specified transform or joint from the list of transforms that influence the bound geometry The weights for the affected points are renormalized. This flag is multi-use.
-maximumInfluences(-mi) int createqueryedit
Sets the maximum number of transforms that can influence a point (have non-zero weight for the point) when the skinCluster is first created or a new influence is added. Note: When this flag is used in Edit mode any custom weights will be lost and new weights will be reassigned to the whole skin.

In query mode, this flag needs a value.

-obeyMaximumInfluences(-omi) boolean createqueryedit
When true, the skinCluster will continue to enforce the maximum influences each time the user modifies the weight, so that any given point is only weighted by the number of influences in the skinCluster's maximumInfluences attribute.

In query mode, this flag needs a value.

-dropoffRate(-dr) double createqueryedit
Sets the rate at which the influence of a transform drops as the distance from that transform increases. The valid range is between 0.1 and 10.0. In Create mode it sets the dropoff rate for all the bound joints. In Edit mode the flag is used together with the inf/influence flag to set the dropoff rate of a particular influence. Note: When the flag is used in Edit mode, any custom weights on the skin points the given transform influences will be lost.

In query mode, this flag needs a value.

-nurbsSamples(-ns) int createedit
Sets the number of sample points that will be used along an influence curve or in each direction on an influence NURBS surface to influence the bound skin. The more the sample points the more closely the skin follows the influence NURBS curve/surface.
-polySmoothness(-ps) double createedit
This flag controls how accurately the skin control points follow a given polygon influence object. The higher the value of polySmoothnmess the more rounded the deformation resulting from a polygonal influence object will be.
-influence(-inf) string queryedit
This flag specifies the influence object that will be used for the current edit operation. In query mode, returns a string array of the influence objects (joints and transform).

In query mode, this flag needs a value.

-weightedInfluence(-wi) query
This flag returns a string array of the influence objects (joints and transform) that have non-zero weighting.

In query mode, this flag needs a value.

-toSelectedBones(-tsb) create
geometry will be bound to the selected bones only.
-toSkeletonAndTransforms(-tst) create
geometry will be bound to the skeleton and any transforms in the hierarchy
-ignoreHierarchy(-ih) createedit
Disregard the place of the joints in the skeleton hierarchy when computing the closest joints that influence a point of the geometry.
-unbind(-ub) edit
Unbinds the geometry from the skinCluster and deletes the skinCluster node
-unbindKeepHistory(-ubk) edit
Unbinds the geometry from the skinCluster, but keeps the skinCluster node so that its weights can be used when the skin is rebound. To rebind, use the skinCluster command.
-useGeometry(-ug) edit
When adding an influence to a skinCluster, use the geometry parented under the influence transform to determine the weight dropoff of that influence.
-baseShape(-bsh) string edit
This flag can be used in conjunction with the -addInfluence flag to specify the shape that will be used as the base shape when an influence object with geometry is added to the skinCluster. If the flag is not used then the command will make a copy of the influence object's shape and use that as a base shape.
-ignoreBindPose(-ibp) createedit
Normally, you can only add an influence object or bind a new skin if the skeleton is at the bindPose. This flag tells the command to ignore the bindPose.
-lockWeights(-lw) boolean queryedit
Lock the weights of the specified influence object to their current value or to the value specified by the -weight flag.

In query mode, this flag needs a value.

-weight(-wt) double edit
This flag is only valid in conjunction with the -addInfluence flag. It sets the weight for the influence object that is being added.
-removeUnusedInfluence(-rui) boolean create
If this flag is set to true then transform or joint whose weights are all zero (they have no effect) will not be bound to the geometry. Having this option set will help speed-up the playback of animation.

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 be used more than once in a command

Return value


string (the skinCluster node name)

Related

bindPose, bindSkin, blendShape, boneLattice, copyFlexor, copySkinWeights, flexor, skinPercent, wire, wrinkle

MEL examples

// Create a joint chain and a polygonal plane.
//
select -d;
joint -p -3 0 -12;
joint -p -3 0 -5;
joint -p 1 0 5.5;
joint -p 6 0 10;
polyPlane -w 20.0 -h 20.0 -sx 25 -sy 25;

// Bind the joint chain that contains joint1 to pPlane1
// and assign a dropoff of 4.5 to all the joints
//
skinCluster -dr 4.5 joint1 pPlane1;

// Undo and bind only joint1 and joint3 to pPlane1
//
undo;
skinCluster -tsb joint1 joint3 pPlane1;

// Set the maximum number of transforms influencing each
// point to 3
skinCluster -e -mi 3 skinCluster1;

// Add transform joint2 to the list of transforms
// that influence the bound skin
//
select -r pPlane1;
skinCluster -e -ai joint2;

// Query the influences for the skinCluster
//
skinCluster -q -inf;

// Add a nurbs curve influence object
//
curve -d 3 -p 2.0 0.0 -7.0 -p 5.0 0.0 -4.0 -p 6.0 0.0 1.0 -p 6.0 0.0 4.0 -p 5.0 0.0 6.0 -k 0 -k 0 -k 0 -k 1 -k 2 -k 2 -k 2;
skinCluster -e -ai curve1;

// Get the number of nurbsSamples taken along curve1
//
skinCluster -inf curve1 -q -ns skinCluster1;

// Set the dropoff for joint3 to 5.0
//
skinCluster -e -inf joint3 -dr 5.0 skinCluster1;

// Query for the dropoff of joint3
//
skinCluster -inf joint3 -q -dr skinCluster1;