Go to: Synopsis. Return value. Related.
Flags. Python
examples.
lattice( selectionList , [after=boolean], [before=boolean], [commonParent=boolean], [deformerTools=boolean], [divisions=[uint, uint, uint]],
[dualBase=boolean], [exclusive=string], [freezeMapping=boolean], [frontOfChain=boolean], [geometry=string], [ignoreSelected=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]],
[split=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, before,
commonParent, deformerTools, divisions, dualBase, exclusive, freezeMapping, frontOfChain, geometry, ignoreSelected, latticeReset, ldivisions, name,
objectCentered, outsideFalloffDistance, outsideLattice, parallel, position,
prune, remove,
removeTweaks, rotation, scale,
split
Long name (short name) |
Argument types |
Properties |
name(n) |
string |
|
|
Used to specify the name of the node being created |
|
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
... |
|
remove(rm) |
boolean |
|
|
Specifies that objects listed after the -g flag should be
removed from this deformer. |
|
before(bf) |
boolean |
|
|
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). |
|
after(af) |
boolean |
|
|
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). |
|
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). |
|
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). |
|
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). |
|
ignoreSelected(ignoreSelected) |
boolean |
|
|
Tells the command to not deform objects on the current
selection list |
|
deformerTools(dt) |
boolean |
|
|
Returns the name of the deformer tool objects (if any) as
string string ... |
|
prune(pr) |
boolean |
|
|
Removes any points not being deformed by the deformer in its
current configuration from the deformer set. |
|
exclusive(ex) |
string |
|
|
Puts the deformation set in a deform partition. |
|
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. |
|
ldivisions(ldv) |
[uint, uint, uint] |
|
|
Set the number of local lattice slices in x, y, z. |
|
objectCentered(oc) |
boolean |
|
|
Centers the lattice around the selected object(s) or
components. Default is off which centers the lattice at the
origin. |
|
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. |
|
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). |
|
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. |
|
removeTweaks(rt) |
boolean |
|
|
Remove any lattice deformations caused by moving lattice
points. Translations/rotations and scales on the lattice itself are
not removed. |
|
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. |
|
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. |
|
position(pos) |
[linear, linear, linear] |
|
|
Used to specify the position of the newly created lattice. |
|
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. |
|
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. |
|
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 )