Go to: Synopsis. Return value. Keywords. Flags. Python examples.
freeze([allNodes=boolean], [displayLayers=boolean], [downstream=boolean], [frozen=boolean], [invisible=boolean], [noFreeze=boolean], [unfreeze=boolean], [upstream=boolean])
Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.
freeze is undoable, queryable, and NOT editable.
When a node is frozen none of its inputs will be requested when they
change, the node will use the inputs that existed at the time of freezing
until such time as the node is unfrozen.
A node can be frozen in one of two ways; either directly, via setting the
"frozen" attribute on the node to be true, or indirectly, via setting the
"frozenAffected" extension attribute on the node to be true.
This command lets you freeze nodes based on various criteria. See the flags
for the types of criteria the command uses to decide what to freeze or unfreeze.
The nodes you select will be considered to be frozen directly. Those affected
by it, as dictated by the argument settings, will be considered to be frozen
indirectly.
If the frozen attribute, visibililty, or display layer mode has an input
connection then the frozen state will not propagate as we can't be sure the
node won't unfreeze or become visible at playback time.
In query mode this command will find the nodes with each of the frozen states
set (frozen, frozenAffected, and neither).
string[] | in query mode the list of currently frozen or unfrozen nodes. The list is in three parts separated by an empty string; nodes with frozen state (un)set, nodes with frozenAffected state (un)set, and the rest of the selected nodes |
string[] | the list of nodes whose frozen state was set by the command. The list is in two parts separated by an empty string; nodes with frozen state set, and nodes with frozenAffected state set |
In query mode, return type is based on queried flag.
evaluation, manager, DG, runtime
allNodes, displayLayers, downstream, frozen, invisible, noFreeze, unfreeze, upstream
Long name (short name) |
Argument types |
Properties |
allNodes(all)
|
boolean
|
|
|
This flag lets you select which nodes are to be used for the operation.
If it is not set then the selection list will be used, otherwise all
nodes in the scene will be used.
This flag can be used in query mode to find the set of frozen nodes in the scene.
It can also be used in create mode with filters (displayLayers, invisible,
or frozen) to target a specific subset of nodes in your scene.
|
|
displayLayers(dl)
|
boolean
|
|
|
If this flag is enabled then the display layers on the list to be processed
will be walked. Any nodes they control will be added to the processing list,
providing the display layer visibility control is off and not connected.
Note: Animated visibility or enabled states will be treated as matches to
be thorough. No attempt is made to check for static animation.
|
|
downstream(dn)
|
boolean
|
|
|
If this flag is enabled then the frozen state will attempt to propagate
downstream from the selected nodes. e.g. the mesh shape deformations being
controlled by a skeleton rig.
|
|
frozen(f)
|
boolean
|
|
|
If this flag is enabled then the list of nodes to be processed will be
filtered out so that only nodes with the frozen attribute already set are
included. Otherwise all nodes being processed will first have their frozen
attribute set before propagating the frozen state.
This flag would only be used if you had previously frozen the desired nodes
and are just using the command to propagate the frozen state through the graph.
|
|
invisible(i)
|
boolean
|
|
|
If this flag is enabled then the invisible nodes on the list to be processed
will be walked. Any nodes below them in the DAG hierarchy will be added to
the processing list, providing the visibility attribute is not connected.
Note: Animated visibility states will be treated as a match to
be thorough. No attempt is made to check for static animation.
|
|
noFreeze(n)
|
boolean
|
|
|
This flag previews the nodes that will be frozen without actually freezing them.
|
|
unfreeze(uf)
|
boolean
|
|
|
If this flag is enabled then the nodes being processed will have their frozen
state turned off instead of on. All of the same filtering and propagating will
be done when deciding which nodes to modify.
In query mode this flag switches from returning the already-frozen nodes to
returning the unfrozen nodes.
|
|
upstream(up)
|
boolean
|
|
|
If this flag is enabled then the frozen state will attempt to propagate
upstream through the selected nodes. e.g. the param curves feeding into
a frozen transform.
Heuristics are applied to this propagation to ensure that upstream nodes
that are still used by unfrozen nodes will stay unfrozen themselves.
|
|
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
import maya.cmds as cmds
# Set all selected nodes to be frozen
cmds.freeze()
# Result: ['node1', 'node2', 'node3']
# Set all nodes in the scene to be unfrozen
cmds.freeze( all=True, unfreeze=True )
# Result: ['node1', 'node2', 'node3', 'nodeAlreadyFrozen']