pymel.core.animation.jointLattice¶
- jointLattice(*args, **kwargs)¶
This command creates/edits/queries a jointLattice deformer. The name of the created/edited object is returned. Usually you would make use of this functionality through the higher level flexor command.
Flags:
Long Name / Short Name Argument Types Properties after / af bool 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 bool 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. before / bf bool 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). creasing / cr float Affects the bulging of lattice points on the inside of the bend. Positive/negative values cause the points to bulge outwards/inwards. Default value is 0.0. When queried, this flag returns a float. deformerTools / dt bool Returns the name of the deformer tool objects (if any) as string string ... exclusive / ex unicode Puts the deformation set in a deform partition. frontOfChain / foc bool 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 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 Complements the -geometry flag in query mode. Returns the multi index of each geometry. ignoreSelected / ignoreSelected bool Tells the command to not deform objects on the current selection list includeHiddenSelections / ihs bool Apply the deformer to any visible and hidden objects in the selection list. Default is false. joint / j unicode Specifies the joint which will be used to drive the bulging behaviours. lengthIn / li float Affects the location of lattice points on the parent bone. Positive/negative values cause the points to move away/towards the joint. Changing this parameter also modifies the regions affected by the creasing, rounding and width parameters. Default value is 0.0. When queried, this flag returns a float. lengthOut / lo float Affects the location of lattice points on the child bone. Positive/negative values cause the points to move away/towards the joint. Changing this parameter also modifies the regions affected by the creasing, rounding and width parameters. Default value is 0.0. When queried, this flag returns a float. lowerBindSkin / lb unicode Specifies the node which is performing the bind skin operation on the geometry associated with the lower bone. lowerTransform / lt unicode Specifies which dag node is being used to rigidly transform the lower part of the lattice which this node is going to deform. If this flag is not specified an identity matrix will be assumed. name / n unicode Used to specify the name of the node being created. parallel / par bool 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 Removes any points not being deformed by the deformer in its current configuration from the deformer set. remove / rm bool Specifies that objects listed after the -g flag should be removed from this deformer. rounding / ro float Affects the bulging of lattice points on the outside of the bend. Positive/negative values cause the points to bulge outwards/inwards. Default value is 0.0. When queried, this flag returns a float. split / sp bool 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). upperBindSkin / ub unicode Specifies the node which is performing the bind skin operation on the geometry associated with the upper bone. upperTransform / ut unicode Specifies which dag node is being used to rigidly transform the upper part of the lattice which this node is going to deform. If this flag is not specified an identity matrix will be assumed. widthLeft / wl float Affects the bulging of lattice points on the left side of the bend. Positive/negative values cause the points to bulge outwards/inwards. Default value is 0.0. When queried, this flag returns a float. widthRight / wr float Affects the bulging of lattice points on the right side of the bend. Positive/negative values cause the points to bulge outwards/inwards. Default value is 0.0. When queried, this flag returns a float. Flag can have multiple arguments, passed either as a tuple or a list. Derived from mel command maya.cmds.jointLattice
Example:
import pymel.core as pm # Select a "dualBase" lattice that is connected to a rigidly bound skin. # To create a dualBase lattice, use the dualBase flag on the lattice command. # pm.jointLattice( joint='joint2', upperBindSkin='joint1Cluster1',lowerBindSkin='joint2Cluster2' ) pm.jointLattice( upperTransform='joint1', lowerTransform='joint2', joint='joint2', upperBindSkin='joint1Cluster1',lowerBindSkin='joint2Cluster1' ) pm.jointLattice( 'jointLattice1', edit=True, creasing=0.5 )