pymel.core.animation.blendShape

static animation.blendShape(*args, **kwargs)

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.

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

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, controlling how much of the total deformation gets applied. Default is 1.0.
exclusive (ex) unicode ../../../_images/create.gif ../../../_images/query.gif
 
Puts the deformation set in a deform partition.
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  
   
ignoreSelected (ignoreSelected) bool ../../../_images/create.gif
 
Tells the command to not deform objects on the current selection list
inBetween (ib) bool ../../../_images/create.gif ../../../_images/edit.gif
 

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.

name (n) unicode ../../../_images/create.gif
 
Used to specify the name of the node being created
normalizationGroups (ng) bool  
   
origin (o) unicode ../../../_images/create.gif
 

blendShape will be performed with respect to the world by default. Valid values are worldand local. The local flag will cause the blend shape to be performed with respect to the shape’s local origin. Flag can have multiple arguments, passed either as a tuple or a list.

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.
remove (rm) bool ../../../_images/edit.gif
 
Specifies that objects listed after the -g flag should be removed from this deformer.
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).

target (t) unicode, int, unicode, float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

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 objectint: indexstring: the target objectdouble: target value

topologyCheck (tc) bool ../../../_images/create.gif
 
Set the state of checking for a topology match between the shapes being blended. Default is on.
weight (w) int, float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Set the weight value (second parameter) at index (first parameter).
weightCount (wc) int ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Set the number of shape weight values.

Derived from mel command maya.cmds.blendShape

Example:

import pymel.core as pm

#
# 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.
#
pm.blendShape()

#
# Create a blendShape that starts with curve3 as the base, and blends
# in curve1 and curve2 as targets.

pm.blendShape( 'curve1', 'curve2', 'curve3' )

#
# Apply 80% of the total blendShape deformation, by setting
# the envelope parameter to 0.8
pm.blendShape( 'blendShape1', edit=True, en=0.8 )


#
# Set the weights for the first two target shapes to 0.6
# and 0.1 respecxtively
pm.blendShape( 'blendShape1', edit=True, w=[(0, 0.6), (1, 0.1)] )

#
# Add a third target (target3) to the blendShape on curve3
pm.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
pm.blendShape( 'blendShape2', edit=True, ib=True, t=('curve3', 2, 'smirk', 0.2) )

Previous topic

pymel.core.animation.bindSkin

Next topic

pymel.core.animation.blendShapeEditor

Core

Core Modules

Other Modules

This Page