Go to: Synopsis. Return value. Related. Flags. Python examples.
blendShape(
[objects]
, [after=boolean], [afterReference=boolean], [automatic=boolean], [before=boolean], [deformerTools=boolean], [envelope=float], [exclusive=string], [frontOfChain=boolean], [geometry=string], [geometryIndices=boolean], [ignoreSelected=boolean], [inBetween=boolean], [inBetweenIndex=uint], [inBetweenType=string], [includeHiddenSelections=boolean], [name=string], [normalizationGroups=boolean], [origin=string], [parallel=boolean], [prune=boolean], [remove=boolean], [resetTargetDelta=[uint, uint]], [split=boolean], [tangentSpace=boolean], [target=[string, uint, string, float]], [topologyCheck=boolean], [transform=string], [weight=[uint, float]], [weightCount=uint])
Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.
blendShape is undoable, queryable, and editable.
This command creates a blendShape deformer, which blends in specified
amounts of each target shape to the initial base shape.
Each base shape is deformed by its own set of target shapes.
Every target shape has an index that associates it with one of
the shape weight values.
In the create mode the first item on the selection list is treated
as the base and the remaining inputs as targets. If the first item
on the list has multiple shapes grouped beneath it, the targets must
have an identical shape hierarchy. Additional base shapes
can be added in edit mode using the deformers -g flag.
string[] | (the blendShape node name) |
In query mode, return type is based on queried flag.
bindSkin, boneLattice, copyFlexor, copySkinWeights, flexor, skinCluster, skinPercent, wire, wrinkle
after, afterReference, automatic, before, deformerTools, envelope, exclusive, frontOfChain, geometry, geometryIndices, ignoreSelected, inBetween, inBetweenIndex, inBetweenType, includeHiddenSelections, name, normalizationGroups, origin, parallel, prune, remove, resetTargetDelta, split, tangentSpace, target, topologyCheck, transform, weight, weightCount
Long name (short name) |
Argument types |
Properties |
|
after(af)
|
boolean
|
|
|
If the default behavior for insertion/appending into/onto
the existing chain is not the desired behavior then this flag
can be used to force the command to place 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 the -after mode is used when adding the new deformer,
otherwise the -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.
|
|
automatic(at)
|
boolean
|
|
|
The -automatic flag is used to specify deformer ordering in a way that
choses between -frontOfChain and -before automatically. If the geometry being
deformed is only affected by invertible deformers, use -frontOfChain, otherwise
the -before mode is used.
|
|
before(bf)
|
boolean
|
|
|
If the default behavior for insertion/appending into/onto
the existing chain is not the desired behavior then this flag
can be used to force the command to place 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).
|
|
deformerTools(dt)
|
boolean
|
|
|
Returns the name of the deformer tool objects (if any)
as string string ...
|
|
envelope(en)
|
float
|
|
|
Set the envelope value for the deformer, controlling
how much of the total deformation gets applied. Default is 1.0.
|
|
exclusive(ex)
|
string
|
|
|
Puts the deformation set in a deform partition.
|
|
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).
|
|
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.
|
|
ignoreSelected(ignoreSelected)
|
boolean
|
|
|
Tells the command to not deform objects on the
current selection list
|
|
inBetween(ib)
|
boolean
|
|
|
Indicate that the specified target should serve as
an inbetween. An inbetween target is one that serves as an
intermediate target between the base shape and another target.
|
|
inBetweenIndex(ibi)
|
uint
|
|
|
Only used with the -rtd/-resetTargetDelta flag to remove delta values
for points in the inbetween target geometry defined by this index.
|
|
inBetweenType(ibt)
|
string
|
|
|
Specify if the in-between target to be created is relative to the hero
target or if it is absolute.
If it is relative to hero targets, the in-between target will get any changes made to the hero target.
Valid values are "relative" and "absolute".
This flag should always be used with the -ib/-inBetween and -t/-target flags.
|
|
includeHiddenSelections(ihs)
|
boolean
|
|
|
Apply the deformer to any visible and hidden objects in the selection list.
Default is false.
|
|
name(n)
|
string
|
|
|
Used to specify the name of the node being created.
|
|
normalizationGroups(ng)
|
boolean
|
|
|
Returns a list of the used normalization group IDs.
|
|
origin(o)
|
string
|
|
|
blendShape will be performed with respect to the
world by default. Valid values are "world" and "local". The local flag will cause the blend
shape to be performed with respect to the shape's local
origin.
|
|
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).
|
|
prune(pr)
|
boolean
|
|
|
Removes any points not being deformed by the deformer in
its current configuration from the deformer set.
|
|
remove(rm)
|
boolean
|
|
|
Specifies that objects listed after the -g flag should
be removed from this deformer.
|
|
resetTargetDelta(rtd)
|
[uint, uint]
|
|
|
Remove all delta values for points in the target geometry,
including all sequential targets defined by target index.
Parameter list:
- uint: the base object index
- uint: the target index
|
|
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).
|
|
tangentSpace(ts)
|
boolean
|
|
|
Indicate that the delta of the specified target should be relative to
the tangent space of the surface.
|
|
target(t)
|
[string, uint, string, float]
|
|
|
Set target object as the index target shape for the base shape base
object. The full influence of target shape takes effect when its shape
weight is targetValue.
Parameter list:
- string: the base object
- int: index
- string: the target object
- double: target value
|
|
topologyCheck(tc)
|
boolean
|
|
|
Set the state of checking for a topology match between the
shapes being blended. Default is on.
|
|
transform(tr)
|
string
|
|
|
Set transform for target, then the deltas will become relative to a post transform. Typically the
best workflow for this option is to choose a joint that is related to the fix you have introduced.
This flag should be used only if the "Deformation order" of blendShape node is "Before".
|
|
weight(w)
|
[uint, float]
|
|
|
Set the weight value (second parameter) at index (first parameter).
|
|
weightCount(wc)
|
uint
|
|
|
Set the number of shape weight values.
|
|
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
#
# Perform a blendShape using the currently-selected objects.
# The lead (last-selected) object will be the base shape, and each
# of the others become targets.
#
cmds.blendShape()
#
# Create a blendShape that starts with curve3 as the base, and blends
# in curve1 and curve2 as targets.
cmds.blendShape( 'curve1', 'curve2', 'curve3' )
#
# Apply 80% of the total blendShape deformation, by setting
# the envelope parameter to 0.8
cmds.blendShape( 'blendShape1', edit=True, en=0.8 )
#
# Set the weights for the first two target shapes to 0.6
# and 0.1 respecxtively
cmds.blendShape( 'blendShape1', edit=True, w=[(0, 0.6), (1, 0.1)] )
#
# Add a third target (target3) to the blendShape on curve3
cmds.blendShape( 'blendShape1', edit=True, t=('curve3', 1, 'target3', 1.0) )
#
# Add an inbetween (smirk) on target3 for base shape curve3
# The inbetween will take effect at a weight of 0.2
cmds.blendShape( 'blendShape2', edit=True, ib=True, t=('curve3', 2, 'smirk', 0.2) )