Asset

The root class of an asset. All animatable assets object must be included in an Asset node. The asset provides services to display the asset content and access to its controllers.

Parent: Node

Plugs

name description type default flags
display This plug returns the asset displayable Scene. The asset must return through this plug the geometry content which will be displayed in the project, but not the geometry objects used to control the rig. The content returned by this plug will be deformed by the post rigging deformation system. Scene in
export_path This plug contains a path (like "/characters/hero") to use as the path for the root node of the asset in the exported file (like Usd or Alembic). * If empty, the asset is exported using its current path in the document. Scene in

Node

The base class of all nodes.

Parent: Node

Plugs

name description type default flags
structure This plug is invalidated when the children nodes are created or deleted, if children node dynamic attributes are created or deleted and if one of the children structure plug is itself invalidated. None in
graph_properties This plug contains the graph properties (position, radius) for this node. This plug can be used by a graphical interface to track the nodal network modifications. The plug is invalidated if the graphical representation of this node and its connections should be updated, or if the representation of its direct children nodes should be updated. GraphProperties in
selected Connected to a "true" plug by the framework if this node is selected. The user must not directly modify this plug. Bool out
hierarchy_visually_selected The node hierarchy is visually selected Bool out
name The node's name. String in
full_path The node path from the root of the workspace. String out

SceneGraphNode

The base node class of nodes visible in space.

Parent: Node

Plugs

name description type default flags
transform The object's local matrix. M44d in
world_transform The object's world matrix. If inherits_transform is true, the world_transform is transformparent_matrixnode.parent()->world_transform. * If inherits_transform is false, the world_transform is transform*parent_matrix M44d out
parent_matrix An optional object parent matrix. This matrix can be used to set a parent world matrix. M44d in
inherits_transform If true, the node inherits its parent world matrix, if false, it doesn't. bool true in
show If false, the node and its children will be hidden. bool true in
visible The node final visibility state. If true, is node is visible, if false, it's not. bool true out
hovered true if the node is hovered by the mouse. bool false out
scene_graph Returns the content of the node and its children as a single Scene value. Scene out
prune If true, the scene_graph plug returns an empty scene. Bool in

AnimLayer

Base class for the animation layer nodes. The AnimLayer contains the layer parameters. Those parameters are connected to the AnimLayerBlend nodes.

Parent: Node

Plugs

name description type default flags
mode The mode (Additive, Negative, Blend, ...) of the animation layer. - 0 : Add. The channel values of this layer will be added to the previous layer values. - 1 : Substract. The channel values of this layer will be substracted from the previous layer values. - 2 : Blend. The channel values of this layer will replace the previous layer values. int 0 in
weight The weight of the animation layer. If the weight is 0, the animation layer has no effect. If the weight is 1, the animation is fully enabled. float 1 in

AnimLayerBlend

Internal node which blend a channel between two layers.

Parent: Node

Plugs

name description type default flags
layer_data The animation layer parameters. Array in
input1 The first channel input. Value in
input2 The second channel input. Value in
output Return the result of the Animation Layer Blend Value out

AverageTransform

Node used to compute the “average transform” matrix from an input scene vertices with selection weights.

Parent: Node

Plugs

name description type default flags
input The scene to stick to. Scene in
input The scene to stick to in its reference setup. Scene in
selection_weights The name of the vertex attribute for the selection weights. @note Set to empty string, i.e. "", to use all input vertices. std::string in
threshold The threshold to consider the selection weights as active. float in
ref_data The precomputed data from the reference. Dict in
output The "stick-to" matrix. Imath::M44f out

ConstraintLayer

A layer node which apply matrix constraints.

Parent: AnimLayer

Plugs

name description type default flags
target_world_transform The world matrix of the target object M44d in
parent_world_transform The world matrix of the parent of the constrained object M44d in
rotate_order The Imath rotate order of the constrained object int in
joint_orient The joint orient of the constrained object V3d in
tx Constraint tx bool false in
offset_tx x translation offset float 0 in
in_tx Initial x translation float 0 in
ty Constraint ty bool false in
offset_ty y translation offset float 0 in
in_ty Initial y translation float 0 in
tz Constraint tz bool false in
offset_tz z translation offset float 0 in
in_tz Initial z translation float 0 in
rx Constraint rx bool false in
offset_rx x rotation offset float 0 in
in_rx Initial x rotation float 0 in
ry Constraint ry bool false in
offset_ry y rotation offset float 0 in
in_ry Initial y rotation float 0 in
rz Constraint rz bool false in
offset_rz z rotation offset float 0 in
in_rz Initial z rotation float 0 in
sx Constraint sx bool false in
offset_sx x scale offset float 1 in
in_sx Initial x scale float 1 in
sy Constraint sy bool false in
offset_sy y scale offset float 1 in
in_sy Initial y scale float 1 in
sz Constraint sz bool false in
offset_sz z scale offset float 1 in
in_sz Initial z scale float 1 in
in_pre_rotate Pre Rotate Constant v3f in
in_post_roate Post Rotate Constant v3f in
offset The offset matrix M44d out
out For internal usage. M44d out
out_tx Return new x translation. float out
out_tx Return new y translation. float out
out_tx Return new z translation. float out
out_tx Return new x rotation. float out
out_tx Return new y rotation. float out
out_tx Return new z rotation. float out
out_tx Return new x scale. float out
out_tx Return new y scale. float out
out_tx Return new z scale. float out

Cube

Craft a cube mesh.

Parent: Node

Plugs

name description type default flags
width The width of the cube. float 1 in
height The height of the cube. float 1 in
depth The depth of the cube. float 1 in
subdivision_width Number of width subdivisions. int 10 in
subdivision_width Number of height subdivisions. int 10 in
subdivision_depth Number of depth subdivisions. int 10 in
output The cube mesh. Mesh out

Cylinder

Craft a cylinder mesh.

Parent: Node

Plugs

name description type default flags
radius The radius of the cylinder. float 1 in
length The length of the cylinder. float 1 in
subdivision_azimuth Number of azimuthal subdivisions. int 20 in
subdivision_height Number of height subdivisions. int 1 in
subdivision_cap Number of cap subdivisions. int 1 in
axis The cylinder axis vector. V3d (0,1,0) in

Deform

Deform the scene graph’s geometries vertices using a matrix.

Parent: node

Plugs

name description type default flags
input The input scene graph Scene in
deformer The matrix used to deform the geometries points. Value in
deformer_init The initial deformation matrix. Value in
attribute The name of the attribute to use as a deformer mask. String in

DeformLayer

Base class for the scene deformation layer nodes. The DeformLayer has the input and output scene plugs. Using an internal nodal network, it computes the output scene using the input scene.

Parent: Node

Plugs

name description type default flags
input The input scene to deform. Scene in
raw_output The output scene. Scene out

Disc

Craft a disc mesh.

Parent: Node

Plugs

name description type default flags
radius The radius of the disc. float 1 in
subdivision_azimuth Number of azimuthal subdivisions. int 20 in
subdivision_cap Number of cap subdivisions. int 1 in
axis The disc axis vector. V3d (0,1,0) in

Dot

Simple node with a single plug. The Dot node can be used to organise a network.

Parent: Node

Plugs

name description type default flags
input Value in

EvalSurface

Evaluate surface positions, normals, tangents and derivatives for specific parameters.

Parent: Node

Plugs

name description type default flags
surface The input nurbs surface. NurbsSurface in
parameters The surface parameters where the evaluation is done. V2d (0, 0) in
position The surface position at the parameter. V3d out
normal The normalized surface normal at the parameter. V3d out
tangent_u The normalized surface u tangent at the parameter. V3d out
tangent_v The normalized surface v tangent at the parameter. V3d out
du The surface u derivative at the parameter. V3d out
dv The surface v derivative at the parameter. V3d out

Frame

A frame node to visualize, organize and comment nodal networks.

Parent: Node

Plugs

name description type default flags
title The frame title. String in
text The frame html text. String in
background_color The frame background sRGB color. Color4 in
pos The frame top left position. V2d in
size The frame size. V2d in

GetArray

Return the array value at the specified index.

Parent: Node

Plugs

name description type default flags
array The input array. Array in
index The index of the array element to return. If the index is invalid, the node returns a default Value object. int 0 in
value The array value at the specified index or a default Value object if the index is invalid. Value out

GetDict

Return the dict value at the specified key.

Parent: Node

Plugs

name description type default flags
dict The input dict. Dict in
key The key of the dict element to return. If the key is invalid, the node returns a default Value object. string in
value The dict value at the specified key or a default Value object if the key is invalid. Value out

IsoCurve

Extract an iso curve from a nurbs surface.

Parent: Node

Plugs

name description type default flags
surface_in The input nurbs surface. NurbsSurface in
u The parameter on the surface where to extract the curve. float 0 in
use_v If true, use the u parameter, else use the v parameter. bool false in
curve_out The extracted nurbs curve. NurbsCurve out

LayerGroup

Base class for the layer group nodes. The LayerGroup group layers.

Parent: Node

Lerp

Perform a linear interpolation on numerical values. Returns input1*(1-weight)+input2*(weight).

Parent: Node

Plugs

name description type default flags
weight The weight of the interpolation. float 0 in
input1 The first float input. float 0 in
input2 The second float input. float 0 in
v3f_input1 The first V3d input. V3d 0 in
v3f_input2 The second V3d input. V3d 0 in
output Return the result of the interpolation on floats. float out
V3f_output Return the result of the interpolation on V3d. V3d out

MakeArray

Build an array of values. The array plug has dependencies on the node dynamic plugs. It returns those plug values in an Array value.

Parent: node

Plugs

name description type default flags
array The built array Array out

MakeDict

Build a dictionnary of values. The dict plug has dependencies on the node dynamic plugs. It returns those plug values in a Dict value. The keys plug describes the string keys used to index the values in the dictionnary.

Parent: Node

Plugs

name description type default flags
keys The dictionnary keys list. The list is a semi-colon separated strings. For every dynamic plug in dependence on the dict plug providing a dictionnary value, a string in this list specifies the value key, assuming the order in the list and in the dependencies is the same. The accepted separators are ";,\n". string "" in
dict The built dict. Dict out

MakeSparseBuffer

Build a sparse buffer. The array plug has dependencies on the node dynamic plugs.

Parent: Node

Plugs

name description type default flags
output Value out

MediaProjection

Compute a plane matching a camera projection.

Parent: Node

Plugs

name description type default flags
distance The positive distance of the plane from the camera, in world space. Float in
camera_world The camera to world matrix. M44d in
camera_fov The camera horizontal field of vision in radians. Float in
media The media to project. Value in
transparency The image plane transparency. Float in
camera_world The camera to world matrix. M44d in
plane The plane mesh in front of the camera. Mesh out
shader A shader displaying the media. Shader out

Picker

A picker node.

Parent: Node

Plugs

name description type default flags
target The target of the picker node string "" in
script The script of the picker node string "" in
position The position of the picker node V2d"" in
size The size of the picker node V2d"" in
z The z value of the picker node float"" in
text The text of the picker node string"" in
text The text size of the picker node in int"" size
text_color The text color of the picker node Color4f"" in
image The path to the image of the picker node string"" in
image_color The image color of the picker node Color4f"" in
mirror_image Mirror the image of the picker node bool"" in
transform The transform of the picker node M44d"" in

Plane

Craft a plane mesh.

Parent: Node

Plugs

name description type default flags
width The width of the plane. float 1 in
height The height of the plane. float 1 in
subdivision_width Number of width subdivisions. int 10 in
subdivision_width Number of height subdivisions. int 10 in
normal The plane normal vector. V3d (0,1,0) in
output The plane mesh. Mesh out

Read

Read a value from a file.

Parent: node

Plugs

name description type default flags
file The file path to load String in
options The reader options Dict in
array The built array Array out

Reference

This node is a place hodler for unloaded reference files. It keeps the path to the original reference file and the value and the connections of its plugs.

Parent: Node

Plugs

name description type default flags
file The original reference file name. String in
was_loaded Default value is False. Set to true if this reference should be loaded after path resolving. When a reference is not found during the loading, a Reference node is create with was_loaded=true to try to reload it after resolving its path. Bool in
edits Reference edits Dict in

RemoveAttribute

Remove a shape attribute. This attribute can be per-vertex (vertex), per-face (face) or per-face-corner (face_varying).

The attribute must be provided through a BufferXXX value, like a BufferFloat or a BufferV3f.

The buffer size must fit the geometry topology size.

Parent: Node

Plugs

name description type default flags
points_in The input geometry into which the attribute must be set. Shape in
attribute_name The attribute name string "attribute" in
topology The new attribute topology. constant(0): the value must be is constant. It can be any type of value. vertex(1): the value must be is a per-vertex buffer. face(2): The value must be is a per-face buffer. face_varying(3): The value must be is a per-face-corner buffer. int 0 in
points_out Returns the points_in geometry with the new attribute added if the attribute match the geometry topology. If not, the points_in geometry is returned, unchanged. Points out

MakeSceneGraph

Create a Scene node or insert a new Scene node in an existing Scene.

Parent: Node

Plugs

name description type default flags
path The path of the new Scene node in the root scene graph like "/child/child/node_name". If the path is a simple node name (without any "/" character), it creates a single node. Create the Scene node children node like "/child/child/node_name" otherwise. string "" in
root An optional root node where to insert the new node. root is ignored if the path is empty. Scene in
geometry An optional geometry for the new node. Shape in
matrix The transform matrix for the new node. M44d in
attributes The new node's attributes. Dict in
scene_graph The new Scene root node. It may not be the inserted node but its new root node. Scene out

SculptLayer

Base class for the scene deformation layer nodes. The SculptLayer has the input and output scene plugs. Using an internal nodal network, it computes the output scene using the input scene.

Parent: Node

SelectionSet

A node selection set.

Parent: Node

Plugs

name description type default flags
content The content of the selection set string "" in

SetAttribute

Add or replace a geometry attribute. This attribute can be per-vertex (vertex), per-face (face) or per-face-corner (face_varying).

The attribute must be provided through a BufferXXX value, like a BufferFloat or a BufferV3f.

The buffer size must fit the geometry topology size.

Parent: Node

Plugs

name description type default flags
points_in The input shape into which the attribute must be set. Shape in
attribute_name The attribute name string "attribute" in
topology The new shape topology. constant(0): the value must be is constant. It can be any type of value. vertex(1): the value must be is a per-vertex buffer. face(2): The value must be is a per-face buffer. face_varying(3): The value must be is a per-face-corner buffer. int 0 in
value The new attribute value. Must be a buffer Value, like a BufferFloat or a BufferV3f. Value in
points_out Returns the points_in geometry with the new attribute added if the attribute match the geometry topology. If not, the points_in geometry is returned, unchanged. Points out

ShapeAttribute

Retrieve an attribute from a Shape object. This attribute can be constant, per-vertex (vertex), per-face (face) or per-face-corner (face_varying).

Parent: Node

Plugs

name description type default flags
shape The input Shape object where the attribute is set. Shape in
attribute_name The attribute name string "attribute" in
topology The attribute topology. constant(0): the value is a constant. vertex(1): the value is a per-vertex buffer. face(2): The value is a per-face buffer. face_varying(3): The value is a per-face-corner buffer. int 0 in
value Returns the value if the attribute has been found in the good topology, or returns a default Value. Value out

Sphere

Craft a sphere mesh.

Parent: Node

Plugs

name description type default flags
radius The radius of the sphere. float 1 in
subdivision_azimuth Number of azimuthal subdivisions. int 20 in
subdivision_elevation Number of elevation subdivisions. int 20 in
axis The sphere axis vector. V3d (0,1,0) in

StickyDeformer

Deformer Tool node used for “sticky” deformations. First, a “stick-to” matrix, that follows the mesh during the animation, is computed from the anchor weights mask painted on the input scene meshes. Then, deformation weights can be painted with a brush or procedurally generated by an animatable sphere (whose parent transform is the “stick-to” matrix). Finally, the deformer deforms the mesh, according to the deformation mode and w.r.t. the deformation weights: - grab: a deformation transform (whose parent transform is the “stick-to” matrix) is applied to the mesh (modes: local / global) - smooth: the mesh is smoothed (with borders management) - relax: the mesh is projected onto its smoothed version - delta mush

Parent: Node

Plugs

name description type default flags
input The scene to deform. Scene in
reference The scene to deform in its reference setup. Scene in
edit Whether the deformer is active or not. bool in
effect The application factor of the deformation: 0.0 for no deformation; 1.0 for full deformation. float in
weights_attribute_name The name of the anchor weights. @note Depending on the way these are generated, brush or sphere, the name may change. std::string in
main_operation The deformer operation to be performed: 0 for grab; 1 for smooth; 2 for relax; 3 for delta mush. int in
deformation_transform The world transform of the grab control. Imath::M44d in
deformation_transform_parent The parent world transform of the grab control. Imath::M44d in
grab_local Toggles local / world mode for the grab operation. bool in
smooth_steps The number of smoothing steps to be performed. @note Applies for both smooth, relax and delta mush operations. int in
smooth_borders Toggles the smoothing of boundary vertices. bool in
smooth_method The method used to prepare the scene before smoothing: 0 for cropping the scene w.r.t. the deformation weights; 1 for cropping and extending to smooth_steps neighbour rings; 2 for no cropping. int in
cache_borders The per-mesh list of boundary vertex indices. Array out
cache_borders The per-mesh list of delta mush data: the mesh name, its smoothed version, the deltas. Array out
output The deformed scene. Scene out

StickyDeformerLayer

Layer node associated to the Sticky Deformer.

Parent: Node

Plugs

name description type default flags
painted_weights The painted weights. Scene in
main_operation The deformer operation to be performed: 0 for grab; 1 for smooth; 2 for relax; 3 for delta mush. int in
editor_parent The parent of the transform editor: 0 for the anchored transform; 1 for the weight sphere. int in
grab_local Toggles local / world mode for the grab operation. bool in
smooth_steps The number of smoothing steps to be performed. @note Applies for both smooth, relax and delta mush operations. int in
smooth_borders Toggles the smoothing of boundary vertices. bool in

SurfaceInfo

Query the nurbs surface information.

Parent: Node

Plugs

name description type default flags
surface The input nurbs surface. NurbsSurface in
range_u The surface u parameter range. x is min, y is max. V2d out
range_v The surface v parameter range. x is min, y is max. V2d out

Transform

Transform the input scene graph matrices by the matrices found in the dictionnary. The scene graph node name is used to search the matrix in the dictionnary.

Parent: Node

Plugs

name description type default flags
input The input scene graph to transform. Scene in
matrices The matrices to apply to the scene graph. The name of the dictionnary entry must match with the scene graph node's name. Dict in
output The transformed scene graph. Scene out

TransformGeometry

Transform the geometry points using a matrix.

Parent: Node

Plugs

name description type default flags
points_in The input geometry. Points in
matrix The matrix to apply on the geometry vertices. M44d in
points_out The output geometry with the transformed points. M44d out

WeightsSphere

Node used to procedurally generate weights using a sphere.

Parent: Node

Plugs

name description type default flags
input The scene to add deformation weights to. Scene in
attribute_name The name of the attribute for the deformation weights. std::string in
attribute_name The name of the attribute for the deformation weights. std::string in
weights_mode How to combine the already present weights (if any) and the sphere weights: - 0 for override: sphere weights only, - 1 for multiply: multiplying both (clamped to one), - 2 for additive: adding both (clamped to one), - 3 for skip: already present weights only. @note If there is no weights in the input scene, then the multiply and additive modes are equivalent to the override mode. int in
weights_type The distance used to compute the deformation weights: 0 for geodesic distance from the closest mesh point to the sphere center; 1 for volumetric distance from the sphere center. int in
display Toggles the display of the final weights. bool in
colormap The colormap to use to display the final weights. int in
geodesic_method The method used to compute geodesic distances: 0 for Dijkstra on the mesh topology; 1 for geometric window propagation; 2 for the Heat method. int in
geodesic_dijkstra_smooth Toggles smoothing of the Dijkstra algorithm result. bool in
fast_geodesic Toggles cropping the mesh w.r.t. the sphere insides before applying the Heat method. bool in
geodesic_heat_dt The diffusion time factor for the Heat method. float in
geodesic_heat_blend The blend factor between the Heat method results when using Neumann (0.0) and the Dirichlet (1.0) boundary conditions. float in
output The scene with the deformation weights attribute and its display, if toggled. Scene out