Go to: Synopsis. Return value. Related. Flags. Python examples.
lattice(
selectionList
, [after=boolean], [afterReference=boolean], [before=boolean], [commonParent=boolean], [components=boolean], [deformerTools=boolean], [divisions=[uint, uint, uint]], [dualBase=boolean], [exclusive=string], [freezeMapping=boolean], [frontOfChain=boolean], [geometry=string], [geometryIndices=boolean], [ignoreSelected=boolean], [includeHiddenSelections=boolean], [latticeReset=boolean], [ldivisions=[uint, uint, uint]], [name=string], [objectCentered=boolean], [outsideFalloffDistance=float], [outsideLattice=uint], [parallel=boolean], [position=[linear, linear, linear]], [prune=boolean], [remove=boolean], [removeTweaks=boolean], [rotation=[angle, angle, angle]], [scale=[linear, linear, linear]], [selectedComponents=boolean], [split=boolean], [useComponentTags=boolean])
Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.
lattice is undoable, queryable, and editable.
This command creates a lattice deformer that will deform the selected
objects. If the object centered flag is used, the initial lattice will
fit around the selected objects. The lattice will be selected
when the command is completed. The lattice deformer has an associated
base lattice. Only objects which are contained by the base lattice
will be deformed by the lattice.
string[] | Ffd node name, lattice name, base lattice name. |
In query mode, return type is based on queried flag.
cluster, deformer, flexor, percent, sculpt, wire, wrinkle
after, afterReference, before, commonParent, components, deformerTools, divisions, dualBase, exclusive, freezeMapping, frontOfChain, geometry, geometryIndices, ignoreSelected, includeHiddenSelections, latticeReset, ldivisions, name, objectCentered, outsideFalloffDistance, outsideLattice, parallel, position, prune, remove, removeTweaks, rotation, scale, selectedComponents, split, useComponentTags
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.
|
|
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).
|
|
commonParent(cp)
|
boolean
|
|
|
Group the base lattice and the deformed lattice under
a common transform. This means that you can resize the lattice
without affecting the deformation by resizing the common
transform.
|
|
components(cmp)
|
boolean
|
|
|
Returns the components used by the deformer
|
|
deformerTools(dt)
|
boolean
|
|
|
Returns the name of the deformer tool objects (if any)
as string string ...
|
|
divisions(dv)
|
[uint, uint, uint]
|
|
|
Set the number of lattice slices in x, y, z. Default
is 2, 5, 2. When queried, this flag returns float float float.
When you change the number of divisions, any tweaking or
animation of lattice points must be redone.
|
|
dualBase(db)
|
boolean
|
|
|
Create a special purpose ffd deformer node which
accepts 2 base lattices. The default is off which results
in the creation of a normal ffd deformer node.
Intended for internal usage only.
|
|
exclusive(ex)
|
string
|
|
|
Puts the deformation set in a deform partition.
|
|
freezeMapping(fm)
|
boolean
|
|
|
The base position of the geometries points is fixed
at the time this flag is set. When mapping is frozen, moving
the geometry with respect to the lattice will not cause the
deformation to be recomputed.
|
|
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
|
|
includeHiddenSelections(ihs)
|
boolean
|
|
|
Apply the deformer to any visible and hidden objects in the selection list.
Default is false.
|
|
latticeReset(lr)
|
boolean
|
|
|
Reset the lattice to match its base position. This will
undo any deformations that the lattice is causing. The lattice
will only deform points that are enclosed within the lattice's
reset (base) position.
|
|
ldivisions(ldv)
|
[uint, uint, uint]
|
|
|
Set the number of local lattice slices in x, y, z.
|
|
name(n)
|
string
|
|
|
Used to specify the name of the node being created.
|
|
objectCentered(oc)
|
boolean
|
|
|
Centers the lattice around the selected object(s) or
components. Default is off which centers the
lattice at the origin.
|
|
outsideFalloffDistance(ofd)
|
float
|
|
|
Set the falloff distance used when the setting for
transforming points outside of the base lattice is set to 2.
The distance value is a positive number which specifies the
size of the falloff distance as a multiple of the base lattice
size, thus a value of 1.0 specifies that only points up to
the base lattice width/height/depth away are transformed.
A value of 0.0 is equivalent to an outsideLattice value of
0 (i.e. no points outside the base lattice are transformed).
A huge value is equivalent to transforming an outsideLattice
value of 1 (i.e. all points are transformed).
|
|
outsideLattice(ol)
|
uint
|
|
|
Set the mode describing how points outside the base
lattice are transformed. 0 (the default) specifies that no
outside points are transformed. 1 specifies that all outside
points are transformed, and 2 specifies that only those
outside points which fall within the "falloff distance" (see
the -ofd/outsideFalloffDistance flag) are transformed. When
querying, the current setting for the lattice is returned.
|
|
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).
|
|
position(pos)
|
[linear, linear, linear]
|
|
|
Used to specify the position of the newly created lattice.
|
|
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.
|
|
removeTweaks(rt)
|
boolean
|
|
|
Remove any lattice deformations caused by moving lattice
points. Translations/rotations and scales on the lattice itself
are not removed.
|
|
rotation(ro)
|
[angle, angle, angle]
|
|
|
Used to specify the initial rotation of the newly created lattice.
|
|
scale(s)
|
[linear, linear, linear]
|
|
|
Used to specify the initial scale of the newly created lattice.
|
|
selectedComponents(cms)
|
boolean
|
|
|
Returns the components used by the deformer that are currently selected.
This intersects the current selection with the components affected by the deformer.
|
|
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).
|
|
useComponentTags(uct)
|
boolean
|
|
|
When this flag is specified a setup using componentTags will be created.
This means no groupId, groupParts, tweak or objectSet nodes will be
created and connected to the new deformer.
|
|
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
# to create a 4x5x4 lattice centered around the sphere
#
cmds.sphere();
cmds.lattice( dv=(4, 5, 4), oc=True )
# to edit the lattice divisions to be 6x6x6
#
cmds.lattice( 'ffd1', e=True, dv=(6, 6, 6) )
# move a point on the lattice
cmds.select('ffd1Lattice.pt[2][2][5]',r=True)
cmds.move(0,0,3,r=True)
# to reset the lattice
#
cmds.lattice( 'ffd1', e=True, lr=True )