AimConstraint

Rig node used to build a local transform aiming at the weighted sum of target transforms.

Parent: Node

Plugs

name description type default flags
input The transform to constrain. M44d in
parent_matrix The parent matrix. M44d in
target_0 The default target transform. M44d in
weight_0 The weight for the default target transform. float in
aim_axis The axis of the transform which points to the target. V3d in
up_axis The axis of the transform which points "up". V3d in
up_vector The up vector to use in local_vector or world_vector modes. V3d in
up_target The world position the up vector points in world_target mode. M44d in
up_mode The type of up_vector: 0 for local_vector, 1 for world_vector, 2 for world_target, 3 for auto. In local_vector mode, the up vector is oriented using up_vector in local space. In world_vector mode, the up vector is oriented using up_vector in world space. In world_target mode, the up vector is pointing to up_target in world space. In auto mode, the up vector is computed using the closest rotation to enforce the aim constraint. int in
twist Rotation angle around the aim axis in radians float in
effect How much of the constraint is applied. float in
output The built transform. M44d out

AnimLayer

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

Parent: BaseLayer

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
group_weight The weight of the parent layer group. float 1 out
output_weight The output weight of the layer in its hierarchy (Combination of weight and group weight). float 1 out
reduced_keys The set of keyframes present in this layer. KeySet out
selected_key_frames The selected keys output. KeySet in
layer_data Return the data for the AnimationLayerBlend nodes. Array out

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

ArmModule

SkeletonModule consisting in a chain of 3 joints working in FK and IK.

Parent: Node

Plugs

name description type default flags
shoulder_joint_name The name of the shoulder joint. std::string in
elbow_joint_name The name of the elbow joint. std::string in
wrist_joint_name The name of the wrist joint. std::string in
ik_solver_plane_normal_negate Whether the plane normal computed from the shoulder, elbow and wrist ref positions must be inverted or not. bool in
ik_solver_plane_normal_hint The axis to use as plane normal for the IK solver in case the shoulder, elbow and wrist are aligned in ref pose. int in
ik_solver_elbow_angle The angle, in degree, of rotation of the elbow around the shoudler-wrist axis. float in
ik_solver_stretch Whether the arm is allowed to stretch or not in IK mode. @note Only available when the shoulder, elbow and wrist are aligned. bool in
ik_solver_stretch_ratio The stretch ratio between the arm (0) and the forearm (1) in IK mode. @note Only available when the shoulder, elbow and wrist are aligned. bool in
driven_ik Whether the IK target is driven (true) or not (false). The IK target can be driven, i.e. using driven_ik_target, or not, i.e. directly using the world transform of the IK controller. bool in
driven_ik_target The world transform to be used to drive the IK target used to solve IK. @note This plug may be used, e.g. by the FootModule, to set a different IK target than the one from the IK controller. Imath::M44d in
fk_ik_blend The blend ratio between the poses defined by the FK (0) and IK (1) controls. float in
rest_parent_world_transform The world transform of the joint's parent in the final skeleton in rest pose. Imath::M44d in
fk_solved_transforms_local The FK local transforms of the shoulder, elbow and wrist joints for the ouput skeleton. @note The transforms are considered given in the order mentionned above. Array in
ik_target_world The world transform of the IK target to be used to solve IK. Imath::M44d in
solved_ik_transforms_world The IK world transforms of the shoulder, elbow and wrist joints for the ouput skeleton. @note The transforms are considered given in the order mentionned above. Array in
solved_blend_transforms The blended transforms of the shoulder, elbow and wrist joints for the ouput skeleton. The FK and IK transforms are blended in local space. The transforms are returned in the following order: local shoulder, local elbow, local wrist, world shoulder, world elbow, world wrist. Array out
pose_ik_target_world The world transform of the IK target in current pose. Imath::M44d out
rest_ik_target_world The world transform of the IK target in rest pose. Imath::M44d out
output_skeleton The ouput skeleton. Scene out

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: SceneGraphNode

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

AssignShader

Assign a shader to geometries in a scene graph

Parent: Node

Plugs

name description type default flags
input The scene graph with the geometries Scene in
shader The shader to assign Shader in
pattern The pattern used to match the geometry path. If the pattern is present in the geometry path, the shader is assigned. If the pattern is empty, the shader is assigned to every geometries. String in
output The modified scene Scene 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

BaseLayer

Layer Node.

Parent: Node

Plugs

name description type default flags
layer_id Id of the Layer. int 0 in
height Height of the Layer. float 10 in
enable Enable or Disable the Layer. bool true in
enabled Use that plug to check if the layer is enabled or not. Don't use enable. bool true out
group_enable The parent layer group enable status. bool true out
output_enabled The output enable status of the layer in its hierarchy (Combination of enable and group enable). bool true out
color The color of the Layer. Color4f in
lock Lock or unlock the layer. If true, the layer is locked. For animation layer it means no new channel can be added to this layer. bool false in
in_manip_selection The layer is in the manipulator selection. bool false in

BendableArmModule

Rig Node used to make a limb bendable (e.g. arm and forearm) by assembling two chains of joints, with IK manipulation of the controls of an underlying Spline.

Parent: Node

Plugs

name description type default flags
input_skeleton The input skeleton to be modified. Scene in
parent_world_transform The world transform of the shoulder's parent in the final skeleton. Imath::M44d in
shoulder_joint The path to the shoulder joint in the input skeleton. std::string in
elbow_joint The path to the elbow joint in the input skeleton std::string in
wrist_joint The path to the wrist joint in the input skeleton std::string in
joints_name_pattern The pattern used to compute the name of the chain joints. @note Use "%l" for the sub-limb token and "%i" for the chain joint index. std::string in
arm_joints_token The token used to compute the name of the arm's chain joints. std::string in
forearm_joints_token The pattern used to compute the name of the forearm's chain joints. std::string in
joints_number The number of intermediate chain joints (same for each sub-limb). int in
main_axis The axis to be used to point to the child in the local space of each joint. int in
shoulder_world_matrix The world transform of the shoulder joint for the final skeleton. Imath::M44d out
elbow_world_matrix The world transform of the elbow joint for the final skeleton. Imath::M44d out
wrist_world_matrix The world transform of the wrist joint for the final skeleton. Imath::M44d out
bend_elbow_world The world transform of the bend elbow. Imath::M44d in
arm_primary_control_anim_delta The offset transform of the arm's primary controller. Imath::M44d in
forearm_primary_control_anim_delta The offset transform of the forearm's primary controller. Imath::M44d in
solved_arm_world The solved world matrices for the arm joints. Array in
solved_forearm_world The solved world matrices for the forearm joints. Array in
arm_primary_world_matrix The parent_matrix for the bendable arm's primary controller. Imath::M44d out
arm_primary_matrix_no_twist The local transform of the arm's primary controller after removing non-twist rotations. Imath::M44d out
arm_secondary_parents The parent_matrices for the arm's secondary controllers. Array out
world_matrix_ref The parent_matrix for the bendable forearm's primary controller. Imath::M44d out
forearm_primary_matrix_no_twist The local transform of the forearm's primary controller after removing non-twist rotations. Imath::M44d out
forearm_secondary_parents The parent_matrices for the forearm's secondary controllers. Array out

BlendShapes

Rig Node used to compute a character deformation using Blend Shapes.

   The BlendShapes Node recieves the set of Blend Shapes targets as well as the reference character scene from the "shapes" input plug.
   The scene given in the "shapes" input plug must be structured as follows:
     - the root must have one child named "reference", being the reference character scene.
     - the root must contain one child named "blend_shapes", containing all the Blend Shapes target groups.
     - each target group must containing a list of targets named w.r.t. the in-between activation parameter, expressed as a percentage.
     - each target must contain one child, being the scene of the Blend Shape target and whose structure matches the reference's one for the target shapes.

   For example:
     /shapes/reference/root/some_path/shape_1
                                     /shape_2
                           /another_path/shape
            /blend_shapes/smile/50/root/some_path/shape_1
                                                 /shape_2
                                       /another_path/shape
                               /100/root/some_path/shape_1
                                        /another_path/shape
                         /wink/100/root/some_path/shape_2

Parent: Node

Plugs

name description type default flags
shapes The Blend Shapes to consider, along with the reference character. Scene in
transfer_scene The scene from which to transfer the blend_shapes delta and activation mask. @note When using the "Remap Shapes" action, the shapes delta will be remapped from the "transfer_scene" meshes onto the "input" meshes. @note When using the "Transfer" brush while sculpting the blend shapes, the "transfer_shapes" will be transfered from the "transfer_scene" meshes onto the "input" meshes. @note When using the "Remap Mask" action, the "activation_mask" will be remapped from the "transfer_scene" meshes onto the "input" meshes. @note When using the "Transfer" brush while painting the "activation_mask", the "transfer_mask" will be transfered from the "transfer_scene" meshes onto the "input" meshes. Scene in
transfer_mask The activation mask to transfer from the "transfer_scene" when using the "Transfer" brush while painting the "activation_mask". Scene in
transfer_shapes The delta of the blend shapes to tranfer when using the "Transfer" brush while sculpting the blend shapes. Dict in
activation_mask An optional per-vertex skinning activation mask. Scene in
default_activation_mask_value The default value to be considered for the activation mask when there is no mask data. On the first brush stroke, the mask data are filled with the default_mask_value. float in
edit Whether sculpting is enabled or not. bool in
display_colormap Toggles the display of the sculpt delta values. bool in
colormap The colormap to use for the display of the skinning weight: -1 for deltas, 0 for grayscale, 1 for turbo, 2 for white to red, 3 for boolean. int in
shapes_delta The mesh vertices delta for each Blend Shape. The delta are stored in an Array structured as follow: - data[0]: an Array containing the unsorted list of the target in-between activation parameters. - data[1]: an Array of bool telling whether each target is editable or not (targets coming from the shapes plug are not editable). - data[2]: an Array containing the list of corresponding delta data, stored as Dicts from geometry paths within the input scene to the SparseBufferV3f of delta values. Dict in
display_target The blend_shape to display colors for. std::string in
display_mode The display mode for the colormap. int in
shapes_activation The combined delta to be applied onto the character. UserData out
final_delta The combined delta to be applied onto the character. Dict out
display_delta The sculpt colors for the requested display. Dict out
output The deformed character. Scene out

BrushID

Brush Tool node used to paint ids on Shapes.

Parent: BrushPlugin

Plugs

name description type default flags
operation The brush operation for the next stroke: 0 for setting id, 1 for mirror, 2 for transfer. int in
shift_control_key The brush operation for the next stroke, when both the shift and control keys are pressed: 0 for setting id, 1 for mirror, 2 for transfer. int in
index The index value to paint with the next brush stroke. int in
id_attrib_name The name of the attribute for the painted integer values. std::string in
ids The scene containing the Shapes with the painted integer values in an attribute. Scene out
transfer_scene The scene from which to transfer the ids. Scene in
transfer_ids The ids to transfer from the "transfer_scene" when using the "Transfer" brush. Scene in
source_path The path of the source geometry for ids transfer. @note Starts with " INPUT : /" if the source geometry is part of the input scene, with "SOURCE: /" if it is part of the source scene. std::string in

BrushManipulatorID

Brush Tool node used to paint manipulator ids on a character. @note The manipulators must be children of the same node for the brush tool UI to find them and paint their id.

Parent: BrushID

Plugs

name description type default flags
main_operation The brush operation for the next stroke: 0 for paint, 1 for clear, 2 for mirror, 3 for transfer. int in
shift_key The brush operation for the next stroke if the shift key is pressed: 0 for paint, 1 for clear, 2 for mirror, 3 for transfer. int in
shift_control_key The brush operation for the next stroke if both the shift and control keys are pressed: 0 for paint, 1 for clear, 2 for mirror, 3 for transfer. int in
manipulators_structure The "structure" plug of the manipulators' parent node. Values in
manipulator_name The name of the manipulator for which to paint the id. std::string in

BrushManipulatorID

Brush Tool node used to paint skinning weights on a character.

Parent: BrushPlugin

Plugs

name description type default flags
operation The brush operation for the next stroke: 0 for blend, 1 for smooth, 2 for transfer. int in
shift_key The brush operation for the next stroke, when the shift key is pressed: 0 for blend, 1 for smooth, 2 for transfer. int in
shift_key The brush operation for the next stroke, when the shift key is pressed: 0 for blend, 1 for smooth, 2 for transfer. int in
opacity The brush opacity for the next stroke. float in
value The weight value to paint with the next brush stroke. float in
normalize Whether the skinning weights are normalized on paint or not. bool in
joint_name The name of the joint to paint the skinning weights of. std::string in
joint_name The list of joints name in the input skeleton. Array out
weights The scene containing the skinning weights as an attributes (one per joint). Scene out
source_scene The scene containing additional sources for weights transfer. Scene in
source_path The path of the source geometry for weights transfer. @note Starts with "input/" if the source geometry is part of the input scene, with "source/" if it is part of the source scene. std::string in

BrushMask

Brush Tool node used to paint float values on Shapes.

Parent: BrushPlugin

Plugs

name description type default flags
mask The scene containing the Shapes with the painted float values in an attribute. Scene out
mask_name The name of the attribute for the painted float values. std::string in
default_mask_value The default value to be considered when there is no mask. On the first brush stroke, the mask data are filled with the default_mask_value. float in
transfer_scene The scene from which to transfer the mask. Scene in
transfer_mask The float values to transfer from the "transfer_scene" when using the "Transfer" brush. Scene in
source_path The path of the source geometry for float values transfer. @note Starts with " INPUT : /" if the source geometry is part of the input scene, with "SOURCE: /" if it is part of the source scene. std::string in
main_operation The brush operation for the next stroke: 0 for blend, 1 for remove, 2 for smooth, 3 for mirror, 4 for transfer. int in
shift_key The brush operation for the next stroke, when the shift key is pressed: 0 for blend, 1 for remove, 2 for smooth, 3 for mirror, 4 for transfer. int in
control_key The brush operation for the next stroke, when the control key is pressed: 0 for blend, 1 for remove, 2 for smooth, 3 for mirror, 4 for transfer. int in
shift_control_key The brush operation for the next stroke, when both the shift and control keys are pressed: 0 for blend, 1 for remove, 2 for smooth, 3 for mirror, 4 for transfer. int in
value The float value to paint with the next brush stroke. float in
opacity The brush opacity for the next stroke. float in

BrushMultiMask

Brush Tool node used to paint float values on Shapes. Works together with the MultiMask node.

Parent: BrushPlugin

Plugs

name description type default flags
main_operation The brush operation for the next stroke: 0 for blend, 1 for smooth, 2 for mirror, 3 for transfer. int in
shift_key The brush operation for the next stroke, when the shift key is pressed: -1 for removing, 0 for blend, 1 for smooth, 2 for mirror, 3 for transfer. int in
control_key The brush operation for the next stroke, when the control key is pressed: -1 for removing, 0 for blend, 1 for smooth, 2 for mirror, 3 for transfer. int in
shift_control_key The brush operation for the next stroke, when both the shift and control keys are pressed: -1 for removing, 0 for blend, 1 for smooth, 2 for mirror, 3 for transfer. int in
value The float value to paint with the next brush stroke. float in
opacity The brush opacity for the next stroke. float in
mask The dict from mask name to mask data (kind, mode, values) to be painted on the Shapes. The mask data are stored in an Array structured as follow: - data[0]: the mask mode w.r.t. mask data already present in the input scene. 0 for Override, 1 for Multiply, 2 for Add, 3 for Skip. - data[1]: the mask topology. 1 for vertex, 2 for face. - data[2]: the mask values, stored as a Dict from geometry paths within the input scene to the SparseBufferFloat of values. Dict out
current_mask The current mask to paint. std::string in
display Toggles the display of the mask. bool out
colormap The colormap to use for the display of the skinning weight: 0 for grayscale, 1 for turbo, 2 for white to red. int out
source_scene The scene containing additional sources for float values transfer. Scene in
source_path The path of the source geometry for float values transfer. @note Starts with " INPUT : /" if the source geometry is part of the input scene, with "SOURCE: /" if it is part of the source scene. std::string in
list_view A system plug designed to enforce the update of the list view when requested (dealing with undo/redo of mask add/rename/delete, but not paint/paste). bool in

BrushSculpt

Brush Tool node used to sculpt Shapes. Works together with the Sculpt node.

Parent: BrushSculptPlugin

Plugs

name description type default flags
main_operation The brush operation for the next stroke: 0 for push/pull, 1 for inflate/deflate, 2 for smoothing vertices, 3 for smoothing sculpt, 4 for relaxing vertices, 5 for reseting the sculpt, 6 to flatten vertices, 7 to pinch vertices, 8 to grab vertices, 9 to mirror the sculpt, 10 to transfer the sculpt. int in
shift_key The brush operation for the next stroke, when the shift key is pressed: -1 to invert the main_operation (if available), 0 for push/pull, 1 for inflate/deflate, 2 for smoothing vertices, 3 for smoothing sculpt, 4 for relaxing vertices, 5 for reseting the sculpt, 6 to flatten vertices, 7 to pinch vertices, 8 to grab vertices, 9 to mirror the sculpt, 10 to transfer the sculpt. int in
control_key The brush operation for the next stroke, when the control key is pressed: -1 to invert the main_operation (if available), 0 for push/pull, 1 for inflate/deflate, 2 for smoothing vertices, 3 for smoothing sculpt, 4 for relaxing vertices, 5 for reseting the sculpt, 6 to flatten vertices, 7 to pinch vertices, 8 to grab vertices, 9 to mirror the sculpt, 10 to transfer the sculpt. int in
shift_control_key The brush operation for the next stroke, when both the shift and control keys are pressed: -1 to invert the main_operation (if available), 0 for push/pull, 1 for inflate/deflate, 2 for smoothing vertices, 3 for smoothing sculpt, 4 for relaxing vertices, 5 for reseting the sculpt, 6 to flatten vertices, 7 to pinch vertices, 8 to grab vertices, 9 to mirror the sculpt, 10 to transfer the sculpt. int in
amount How much of the sculpt operation is applied. float in
smooth_amount How much to smooth when in smooth mode. float in
preserve_edges Whether to preserve the sculpted edges untouched or not. bool in
delta_points The local sculpt delta values on the Shapes. Scene in
reference The input scene in rest pose. Scene in
display_colormap Toggles the display of the sculpt delta values. bool in
transfer_scene The scene from which to remap / transfer the sculpt. Scene in
transfer_mask The local sculpt delta values to transfer from the "transfer_scene" when using the "Transfer" brush. Scene in
source_path The path of the source geometry for float values transfer. @note Starts with " INPUT : /" if the source geometry is part of the input scene, with "SOURCE: /" if it is part of the source scene. std::string in

BrushSculptBlendShapes

Sculpt Tool node used to sculpt Blend Shapes. Works together with the BlendShapes node.

Parent: BrushSculpt

Plugs

name description type default flags
main_operation The brush operation for the next stroke: 0 for push/pull, 1 for inflate/deflate, 2 for smoothing vertices, 3 for smoothing sculpt, 4 for relaxing vertices, 5 for reseting the sculpt, 6 to flatten vertices, 7 to pinch vertices, 8 to grab vertices, 9 to mirror the sculpt, 10 to transfer the sculpt, 11 to mirror the blend shape. int in
shift_key The brush operation for the next stroke, when the shift key is pressed: -1 to invert the main_operation (if available), 0 for push/pull, 1 for inflate/deflate, 2 for smoothing vertices, 3 for smoothing sculpt, 4 for relaxing vertices, 5 for reseting the sculpt, 6 to flatten vertices, 7 to pinch vertices, 8 to grab vertices, 9 to mirror the sculpt, 10 to transfer the sculpt, 11 to mirror the blend shape. int in
control_key The brush operation for the next stroke, when the control key is pressed: -1 to invert the main_operation (if available), 0 for push/pull, 1 for inflate/deflate, 2 for smoothing vertices, 3 for smoothing sculpt, 4 for relaxing vertices, 5 for reseting the sculpt, 6 to flatten vertices, 7 to pinch vertices, 8 to grab vertices, 9 to mirror the sculpt, 10 to transfer the sculpt, 11 to mirror the blend shape. int in
shift_control_key The brush operation for the next stroke, when both the shift and control keys are pressed: -1 to invert the main_operation (if available), 0 for push/pull, 1 for inflate/deflate, 2 for smoothing vertices, 3 for smoothing sculpt, 4 for relaxing vertices, 5 for reseting the sculpt, 6 to flatten vertices, 7 to pinch vertices, 8 to grab vertices, 9 to mirror the sculpt, 10 to transfer the sculpt, 11 to mirror the blend shape. int in
current_target The currently edited Blend Shape target. string in
display_colormap Toggles the display of the sculpt delta values. bool in
shapes_delta The mesh vertices delta for each Blend Shape. The delta are stored in an Array structured as follow: - data[0]: an Array containing the unsorted list of the target in-between activation parameters. - data[1]: an Array of bool telling whether each target is editable or not (targets coming from the shapes plug are not editable). - data[2]: an Array containing the list of corresponding delta data, stored as Dicts from geometry paths within the input scene to the SparseBufferV3f of delta values. Dict in
transfer_scene The scene from which to transfer the blend_shapes delta. Scene in
transfer_shapes The delta of the blend shapes to tranfer when using the "Transfer" brush. Dict in
tree_view A system plug designed to enforce the update of the tree view when requested (dealing with undo/redo of Blend Shapes add/rename/delete, but not sculpt/paste). bool in

BrushSkinWeightsLayer

Brush Tool node used to paint skinning weights in layers.

Parent: BrushPlugin

Plugs

name description type default flags
mode The paint mode: 0 for weights, 1 for curve attach. int in
symmetric_attach Whether to mirror curve attach anti-symmetrically, or not. bool in
input_ref The input scene in rest pose, used to compute curve attach, mirrors and transfer. Scene in
operation The brush operation for the next stroke: 0 for blend, 1 for remove, 2 for smooth, 3 for mirror, 4 for transfer. int in
shift_key The brush operation for the next stroke, when the shift key is pressed: 0 for blend, 1 for remove, 2 for smooth, 3 for mirror, 4 for transfer. int in
shift_key The brush operation for the next stroke, when the shift key is pressed: 0 for blend, 1 for remove, 2 for smooth, 3 for mirror, 4 for transfer. int in
shift_control_key The brush operation for the next stroke, when both the shift and control keys are pressed: 0 for blend, 1 for remove, 2 for smooth, 3 for mirror, 4 for transfer. int in
opacity The brush opacity for the next stroke. float in
value The weight value to paint with the next brush stroke. float in
skeleton The input skeleton. Scene in
skeleton_data The skeleton data. Value in
weights_layers The painted skinning weights layers to be flattened into the character. Dict out
layer_data The list of layers data: map name to if curve. Dict in
active_layer The name of the active weights layer. std::string in
linked_layers The name of the weights layer to link for normalized edit. Array out
display_layers The name of the weights layer to display. Array out
display_joint_weights Toggles the display of the skinning weight of a given joint. bool in
colormap The colormap to use for the display of the skinning weight: 0 for grayscale, 1 for turbo, 2 for white to red, 3 for boolean. int in
flatten_weights The flattened skinning weights used when painting while display_joint_weights is true (i.e. normalized). Dict in
transfer_scene The scene from which to remap / transfer the skinning weights. @note For weights transfer, the input's node has to be a SkinningWeightsLayerPainter node or a Skinner node. @note For final weights transfer, the input's node must also be connected with its corresponding skeleton. Scene in
transfer_layers The skin layers to transfer from the "transfer_scene" when using the "Transfer" brush while painting the skin layers. Dict in
source_path The path of the source geometry for weights transfer. @note Starts with " INPUT : /" if the source geometry is part of the input scene, with "SOURCE: /" if it is part of the source scene. std::string in
tree_view A system plug designed to enforce the update of the tree view when requested (dealing with undo/redo of layer add/rename/move/delete, but not paint/paste). bool in

Cache

Parent: Node

Plugs

name description type default flags
input Value in

Camera

The base node class for cameras.

Parent: SceneGraphNode

Cluster

Rig Node used to partially apply a transformation to a scene geometry.

Parent: Node

Plugs

name description type default flags
bind_matrix The parent world transform of the transform to apply. M44d in
transform The transform to apply. M44d in
weights The cluster weights. Scene in
transfer_scene The scene from which to remap / transfer the cluster weights. @note When using the "Remap Weights" action, the "weights" will be remapped from the "transfer_scene" meshes onto the "input" meshes. @note When using the "Transfer" brush, the "transfer_weights" will be transfered from the "transfer_scene" meshes onto the "input" meshes. Scene in
transfer_weights The cluster weights to transfer from the "transfer_scene" when using the "Transfer" brush. Scene in
output The skinned character. Scene out

Cmd

Base class for the command nodes.

Parent: Node

Plugs

name description type default flags
trigger The command trigger signal. Signal in

CmdAssert

When triggered, evaluates the “condition” plug and if false, log an error message

Parent: Cmd

Plugs

name description type default flags
condition The condition to be validated by the node. If false, the node logs an error. Bool True in
message The message to log if the condition is false. String in

CmdBranch

When triggered, evaluates the “condition” plug and if true, triggers the command connected in “true” or if false, the command connected in “false”

Parent: Cmd

Plugs

name description type default flags
condition The condition of the if/else statement. Bool False in
true The signal triggered when the condition is true. Signal out
false The signal triggered when the condition is false. Signal out

CmdCreateNode

When triggered, creates a node. The node’s class, name and location can be specified. Location is given relative to a parent node whom path is passed in parent_path. if parent_path is empty, this node’s parent is used as parent node. Once created, the path of the new node is set in the “new_path” plug.

Parent: Cmd

Plugs

name description type default flags
class The new node class name String in
node_name The new node name String in
parent_path The new node's parent path. The Node.full_path plug can be used to get this path. String in
position The new node position in the nodal graph. V2f in
position The new node radius in the nodal graph. Float in
new_path Once the command has been run, this plug is set with the path of the new node. String in

CmdSetValue

When triggered, evaluates the “value” plug and set that value into the plug connected in “plug”.

Parent: Cmd

Plugs

name description type default flags
value The value to set. Value in
plug The plug's input is the plug where to set the value. Value in

Condition

Return the “true” value if the condition is true, the “false” value if the condition is false. The unused input value is not evaluated.

Parent: Node

Plugs

name description type default flags
condition The condition. bool false in
false The value to return if the condition is false. Value in
true The value to return if the condition is true. Value in
output Return the result of the interpolation on floats. Value out

Constraint

Rig node used to build a local transform from the weighted sum of target transforms components.

Parent: Node

Plugs

name description type default flags
input The transform to constrain. M44d in
parent_matrix The parent matrix. M44d in
target_0 The default constraint target. M44d in
weight_0 The weight for the default constraint target. float in
constrain_scale Toggles the constraint on the scale component. bool in
constrain_shear Toggles the constraint on the shear component. bool in
constrain_rotation Toggles the constraint on the rotation component. bool in
constrain_translation Toggles the constraint on the translation component. bool in
effect How much of the constraint is applied. float in
quaternion_average_iterations The number of iterations used to average quaternion values. int in
quaternion_average_epsilon The iteration threshold used to average quaternion values. int in
output The built transform. M44d out

ConstraintLayer

A layer node which apply matrix constraints.

Parent: ProcAnimLayer

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

Controller

Node visible in the viewport and used to animate channels.

Parent: SceneGraphNode

Plugs

name description type default flags
rig_space The world transform of the rig space. M44d in
rig_parent_matrix The transform of the Controller's parent expressed locally w.r.t. the rig space. Bool in
rig_world The transform of the Controller expressed locally w.r.t. the rig space. Bool in

ControllerUVN

Node representing a position in the UVN space of a NurbsSurface.

Parent: Node

Plugs

name description type default flags
rig_space The world transform of the rig space. M44d in
rig_world The transform of the Controller expressed locally w.r.t. the rig space. Bool in

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

CurveBendableArmModule

Rig Node used to make a limb bendable (e.g. arm and forearm) by assembling two curves, with IK controls.

Parent: Node

Plugs

name description type default flags
input_skeleton The input skeleton to be modified. Scene in
parent_world_transform The world transform of the shoulder's parent in the final skeleton. Imath::M44d in
shoulder_joint The path to the shoulder joint in the input skeleton. std::string in
elbow_joint The path to the elbow joint in the input skeleton std::string in
wrist_joint The path to the wrist joint in the input skeleton std::string in
arm_curve_name The name of the arm curve. std::string in
forearm_curve_name The name of the forearm curve. std::string in
shoulder_world_matrix The world transform of the shoulder joint for the final skeleton. Imath::M44d out
elbow_world_matrix The world transform of the elbow joint for the final skeleton. Imath::M44d out
wrist_world_matrix The world transform of the wrist joint for the final skeleton. Imath::M44d out
arm_curve The curve for the bendy arm. MatrixCurve in
forearm_curve The curve for the bendy forearm. MatrixCurve in

CurveModule

SkeletonModule consisting in a curve. The output skeleton is composed of two parented Scenes, one for the curve start and one for the curve end, both sharing the curve itself as their geometry but only the first one storing the curve parameters.

Parent: Node

Plugs

name description type default flags
mode The mode of the curve: 0 for Free, 1 for Constrained. int in
length_conservation Toggles the conservation of the reference curve length. float in
start_tangent_mode The tangent computation mode at the curve start: 0 for free, 1 for constrained. int in
in_tangent_mode The tangent computation mode inside the curve: 0 for free, 1 for constrained. int in
end_tangent_mode The tangent computation mode at the curve end: 0 for free, 1 for constrained. int in
curve The curve. MatrixCurve in
rest_curve The curve in rest pose. MatrixCurve in
rest_length The length of the curve in rest pos. float in
world_transform The world matrix of the curve's end in current pose. @note This plug should be connected to each child Module's parent_world_transform Plug. Imath::M44d out
output_skeleton The output skeleton generated by this module and the children skeleton sub-parts. Scene out

CustomTransform

Rig node used to build a transform from desired target aim and orientations.

Parent: Node

Plugs

name description type default flags
aim The target aim. Imath::V3d in
translation The transform translation. Imath::V3d in
main_axis The axis to be used to point to the first child in the local space of the joint. int in
up_axis The axis to be used to point "up" in the local space of the joint. int in
side_axis Whether the axis pointing "sideways" in the local space of the joint must be computed using right-hand (positive) or left-hand (negative) convention. int in
world_top_axis The axis to consider as "world up" when building the local frame. int in
offset_angle The offset angle for frame rotation around the main axis. float in
transform The built transform. Imath::M44d 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

DecomposeM44f

Decompose a M44f value into scale, shear, rotation (in both euler and quaternion versions) and translation.

Parent: Node

Plugs

name description type default flags
matrix The matrix to decompose. M44f in
rotate_order The euler rotation order. Int in
scale Return the scale matrix component. V3f out
shear Return the shear matrix component. V3f out
euler Return the rotation matrix component as euler angles in randians. V3f out
quaternion Return the rotation matrix component as a quaternion. Quatf out
translate Return the translation matrix component. Quatf out

DecomposeVector

Decompose a Vector Value into its x, y, z and w components. @note works on Imath vectors (int or float, 2 to 4 dimension), quaternions and colors.

Parent: Node

Plugs

name description type default flags
vector The vector to decompose. Value in
vector Return the x vector component. Float out
vector Return the y vector component. Float out
vector Return the z vector component or 0 if it does not exist in vector. Float out
vector Return the w vector component or 0 if it does not exist in vector. Float out

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: AnimLayer

Plugs

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

Deformer

Base class for the deformer nodes.

Parent: Node

Plugs

name description type default flags
deformation Effect of the deformer. 1.0 for full effect, 0.0 for no effect. Float in
input The scene with the geometries to deform. Scene in
input_filter Expression to select the geometry to deform. If empty, deform every geometry. The expression has a mode and a pattern. Modes can be: name: select the geometry if its name matches the pattern path: select the geometry if its path matches the pattern keyword: select the geometry if the pattern appears in its path regex: select the geometry its path matches the pattern regular expression If the Invert attribute is True, the selected geometry set is inverted. String in

Delaunay2D

This node performs the Delaunay triangulation on the input 2D points.

Parent: Node

Plugs

name description type default flags
points The 2D points to triangulate. Array in
query The 2D points to triangulate. V2d in
triangles The result of the triangulation. Mesh out
convex_hull The convex hull of the triangulation. NurbsCurve out
nnc The nnc for the query point. Array out

DeltaMush

Delta Mush deformer.

Parent: Deformer

Plugs

name description type default flags
input_ref The input scene in rest pose. Scene in
transfer_scene The scene from which to remap / transfer the activation mask. @note When using the "Remap Mask" action, the "activation_mask" will be remapped from the "transfer_scene" meshes onto the "input" meshes. @note When using the "Transfer" brush, the "transfer_mask" will be transfered from the "transfer_scene" meshes onto the "input" meshes. Scene in
transfer_mask The activation mask to transfer from the "transfer_scene" when using the "Transfer" brush. Scene in
smoothing_iterations The number of smoothing steps. Int in
smoothing_step The size of a smoothing step. Float in
displacement How much of the delta mush is applied. Float in
distance_weight ???. Float in
inward_constraint ???. Float in
outward_constraint ???. Float in
pin_border_vertices ???. Bool in
activation_mask An optional per-vertex skinning activation mask. Scene in
default_activation_mask_value The default value to be considered for the activation mask when there is no mask data. On the first brush stroke, the mask data are filled with the default_mask_value. float in
cache The precomputed data for the delta mush. Value out

Diff

Show the difference between two scene graphs.

Parent: Node

Plugs

name description type default flags
input1 The first scene graph to compare. Scene in
input2 The second scene graph to compare. Scene in
input1_mode Display mode of the first input. Int in
input2_mode Display mode of the second input. Int in
solid_color_1 First user color. Color4f in
solid_color_2 Second user color. Color4f in
colormap Colormap to use for the heatmap. Int in
tolerance Minimum error value to consider, in world units. Float in
output The scene showing the differences. Scene out
error_rmse Return the mesured RMSE error, in world units. Float out
error_max Return the maximum mesured error, in world units. Float 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

Document

The root document node.

Parent: Node

Plugs

name description type default flags
synced True if the document has not been modified since the last save. False if the document is currently modified. Bool out
modification_counter The document's modification counter. It is moved by the differents operations (document modifications, undo and redo). It can be used to compare document states and decide if an autosave if required or not. Int out
scene_units One scene unit in meters. Default is 0.1 (one centimeter) Float out

DocumentSettings

Node used to register the document settings.

Parent: Node

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

Editable

Base node for the editable nodes.

Parent: Node

Plugs

name description type default flags
edit Whether the node is edited or not. bool in
display_colormap Override the shading with the node's colormap to display the effect of the node. bool in
colormap Colormap to use when display is true. int in

EndJointModule

SkeletonModule consisting in one joint with no animation controller. @note This Module is a terminal Module, i.e. it cannot have children skeleton sub-parts.

Parent: Node

Plugs

name description type default flags
transform The local transform of the joint w.r.t. its skeleton parent. Imath::M44d 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

Event

Base class for the event nodes. Events are commands nodes triggered by the application on certain events.

Parent: Cmd

Extract

Extracts a Scene from a scene graph, allowing to access the Scene and/or the remaining cut scene graph.

Parent: Node

Plugs

name description type default flags
input The scene graph to extract from. Scene in
path The path to the Scene to be extracted. std::string in
keep_path Whether to keep the cut Scene's fill path on extraction or not. bool in
output The extracted Scene. Scene out
output_complement The remaining cut scene graph. Scene out

FKSpineSolver

Rig Node used to interpolate M matrices along a curve defined by N control matrices (N>=2). @note The curve is a piecewise Bézier curve, defined between each pair of consecutive control matrices.

Parent: Node

Plugs

name description type default flags
control_matrices The world matrices at the curve control points. Array in
control_matrices_ref The world matrices at the curve control points, as given in the ref pose. Array in
control_offsets The local offsets at the curve control points. Array in
control_offsets_ref The local offsets at the curve control points, as given in the ref pose. Array in
M The number of matrices to interpolated along the curve. int in
main_axis The axis to be used to point to the first child in the local space of the joint. int in
start_tangent_mode The tangent computation mode at the chain start: 0 for free, 1 for constrained the main_axis. int in
in_tangent_mode The tangent computation mode in the chain: 0 for free, 1 for constrained the main_axis. int in
end_tangent_mode The tangent computation mode at the chain end: 0 for free, 1 for constrained the negated main_axis. int in
length_conservation Toggles the conservation of the reference curve length. float in
curves_ref The N sub-curves as given in the ref pose. Array out
curves_length_ref The cumulative length of the N sub-curves as given in the ref pose. Array out
output_matrices The M interpolated matrices along the curve. Array out

FacialModule

SkeletonModule consisting in a set of joints sampling a Curve that is snapped onto a nurbs surface. @note This Module is a terminal Module, i.e. it cannot have children skeleton sub-parts.

Parent: Node

Plugs

name description type default flags
surface The Nurbs Surface. Scene in
parent_world_transform The world transform of the joints' parent in the final skeleton. Imath::M44f in
display_parent_world_transform The world transform of the joints' parent in the final display skeleton. Imath::M44f in
joints_number The number of joints along the Curve. int in
joints_name_pattern The pattern used to compute the name of the joints. @note Use "%n" for the name of this Node and "%i" for the chain joint index. std::string in
lateralize_joints_names Toggles the lateralization of the joints names. bool in
show_curve Toggles the display of the Curve. bool in
ctrl_attach The scene on which to attach the controllers, in the current pose. Scene in
ctrl_attach_ref The scene on which to attach the controllers, in the rest pose. Scene in
start_tangent_mode The tangent computation mode at the chain start: 0 for free, 1 for constrained the main_axis. int in
end_tangent_mode The tangent computation mode at the chain end: 0 for free, 1 for constrained the negated main_axis. int in
length_conservation Toggles the conservation of the reference curve length. float in
snap_curve Toggles the snapping of the Curve control points on the NurbsSurface. bool in
rest_parent_world_transform The world transform of the head in the final skeleton, in rest pose Imath::M44f in
samples The curve samples to be used for the facial skin. Array in
samples The curve samples in the reference pose to be used for the facial skin. Array in
curve_display_samples The curve samples as used to display it. Array in
samples The curve samples to be used for display. Array in
samples The curve samples in the reference pose to be used for display. Array in
curve_display_mesh The mesh used to display the curve. Mesh out
output_skeleton The output skeleton, as used to apply facial skin in rest_pose. Scene out
ref_skeleton The output skeleton in reference pose, as used to apply facial skin in rest_pose. Scene out
display_output_skeleton The output skeleton, as used for display, i.e. matching any mesh deformation. Scene out
display_ref_skeleton The output skeleton in reference pose, as used for display, i.e. matching any mesh deformation. Scene out

FollowController

Rig Node used to allow different follow matrices, i.e. switch between different parent matrices.

Parent: Controller

Plugs

name description type default flags
follow_parent The parent transform to follow in Parent mode. Imath::M44d in
follow_world The world transform to follow in World mode. Imath::M44d in
additional_follow_count The number of additional transforms to follow in additional modes (e.g. chest or pelvis). int in
follow The follow mode: 0 for Parent, 1 for World. @note Can be extended to match need for more transforms to follow (e.g. chest or pelvis). int in
followed_transform The transform to follow, i.e. the parent matrix. Imath::M44d out

FollowJointModule

SkeletonModule consisting of a constrained joint. This Module extends the JointModule to propose parenting and targeting constraints on the joint.

Parent: Node

Plugs

name description type default flags
compensation_mode The compensation mode: 0 for Follow, 1 for Target. int in
follow The index of the transform to follow in Follow mode. int in
target The transform to target in Target mode. M44d in
target_axis The local frame axis closest to the constraint target in rest pose. int in
rest_parent_world_transform The world transform of the joint's parent in the final skeleton in rest pose. Imath::M44f in
rest_follow The transform to follow in Follow Mode, in rest pose. Imath::M44f in
rest_target The transform to target in Target mode, in rest pose. Imath::M44f in
rest_world The world transform of the joint in rest pose. Imath::M44f out
rest_local The local transform of the joint in rest pose. Imath::M44f out
current_follow The transform to follow in Follow Mode. Imath::M44f out
compensated_local The computed compensated new local matrix for the output skeleton. Imath::M44f out

FootModule

JointModule consisting in a joint, with a set of FK and IK controls to override the parent Module. The FootModule works together with the ArmModule as follows: - connect this node as a child of the ArmModule node (world_transform-parent_world_matrix, output_skeleton-child_X). - connect the rest_ik_target_world plug of the ArmModule to this node’s rest_ik_ankle_world plug. - connect the world_transform plug of the ArmModule’s c_IK_target child node to this node’s ik_ankle_world plug. - connect the fk_ik_blend plug of the ArmModule to this node’s fk_ik_blend plug. - connect this node’s solved_ik_ankle_world plug to the ik_target_world plug of the ArmController node. - setup the locators for the pivots. The foot parameters are applied using the following priority order: foot_rock > toe_pivot > foot_pivot > toe_roll > heel_roll > heel_pivot > foot_roll > toe_rotate > toe_twist

Parent: Node

Plugs

name description type default flags
ik_ankle_world The initial IK target transform from the leg. Imath::M44d in
rest_ik_ankle_world The initial IK target transform of the ankle in rest pose. Imath::M44d in
fk_ik_blend The blend ratio between the poses defined by the FK (0) and IK (1) controls. float in
heel_roll_angle The angle, in degree, of up-down rotation of the foot around the heel pivot. float in
invert_heel_roll_axis Whether to invert the heel_roll axis or not. bool in
heel_pivot_angle The angle, in degree, of left-right rotation of the foot around the heel pivot. float in
invert_heel_pivot_axis Whether to invert the heel_pivot axis or not. bool in
foot_roll_angle The angle, in degree, of up-down rotation of the foot around the foot pivot. float in
invert_foot_roll_axis Whether to invert the foot_roll axis or not. bool in
foot_pivot_angle The angle, in degree, of left-right rotation of the foot around the foot pivot. float in
invert_foot_pivot_axis Whether to invert the foot_pivot axis or not. bool in
toe_roll_angle The angle, in degree, of up-down rotation of the foot around the toe pivot. float in
invert_toe_roll_axis Whether to invert the toe_roll axis or not. bool in
toe_pivot_angle The angle, in degree, of left-right rotation of the foot around the toe pivot. float in
invert_toe_pivot_axis Whether to invert the toe_pivot axis or not. bool in
toe_bend_angle The local angle, in degree, of up-down rotation of the foot joint. float in
invert_toe_bend_axis Whether to invert the toe_bend axis or not. bool in
toe_rotate_angle The local angle, in degree, of left-right rotation of the foot joint. float in
invert_toe_rotate_axis Whether to invert the toe_rotate axis or not. bool in
toe_twist_angle The local angle, in degree, of twist rotation of the foot joint. float in
invert_toe_twist_axis Whether to invert the toe_twist axis or not. bool in
foot_rock_angle The angle, in degree, of twist rotation of the foot around the rock_in pivot, if positive, or the rock_out pivot, if negative. float in
invert_foot_rock_axis Whether to invert the foot_rock axis or not. bool in
show_locators Toggles the display of the locators for the heel, foot, toe, rock_in and rock_out pivots. float in
locator_transform The world transform of the foot joint setup locator. Imath::M44d in
fk_anim_delta The local animation delta transform for the foot. Imath::M44d in
rest_parent_world_transform The world transform of the foot joint's parent in the final skeleton in rest pose. Imath::M44d in
heel_pivot The transform of the heel pivot. Imath::M44d in
foot_pivot The transform of the foot pivot. Imath::M44d in
toe_pivot The transform of the toe pivot. Imath::M44d in
rock_in_pivot The transform of the rock_in pivot. Imath::M44d in
rock_out_pivot The transform of the rock_out pivot. Imath::M44d in
rest_fk_local The local transform of the foot joint in rest pose. Imath::M44d out
rest_ik_local The local transform of the foot joint in rest pose. Imath::M44d out
solved_ik_ankle_world The IK transform of the ankle joint for solving IK in the ArmController of the leg. Imath::M44d out
solved_ik_foot_local The IK local transform of the foot joint for the output skeleton. Imath::M44d out
solved_blend_transforms The blended transform of the foot joint for the ouput skeleton. The FK and IK transforms are blended in local space. The transforms are returned in the following order: local, world. Array 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

Framework

The root node of the Maquina framework.

Parent: Node

Plugs

name description type default flags
ui_updates Set this plus to false to disable the user interface update during performance critic tasks. Bool in
update_ui Query that plug to know if the user interface must be updated. False if it should not for performance reason. Bool out

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

GetSceneData

Return the local and world matrices of the requested sub-scene.

Parent: Node

Plugs

name description type default flags
scene The input scene. Scene in
path The path of the sub-scene in the input scene. std::string in
transforms The dict from a scene's name to its local transform. Imath::M44d out
worlds The dict from a scene's name to its world transform. Imath::M44d out

GlobalInterpolate

Node used to perform global interpolation between target values.

Parent: Node

Plugs

name description type default flags
target_keys The target keys used to get the interpolation weights at the input keys. Array in
target_values The target values to be interpolated at the input keys. Array in
input_keys The input keys where to interpolate the target values. Array in
interpolation_method The global inteprolation used: 0: Voronoi2D, 1: RBF. int in
rbf_kernel The rbf kernel used to interpolate the target values. int in
rbf_radius The rbf kernel sigma parameter. float in
quaternion_mode The way to compute quaternion distance. int in
quaternion_average_iterations The number of iterations used to average quaternion values. int in
quaternion_average_epsilon The iteration threshold used to average quaternion values. int in
rbf_weights The rbf weights for each target values. Array out
output_values The interpolated target values at the input keys. Array out

HandModule

SkeletonModule composed of a set of joint chains representing the hand’s digits. @note The hand root joint is located at the HandModule parent’s world transform and is not controllable. @note This Module is a terminal Module, i.e. it cannot have children skeleton sub-parts.

Parent: Node

Plugs

name description type default flags
has_thumb Whether the resulting hand has a thumb-finger of not. bool in
n_digits The number of non-thumb fingers in the hand. int in
fingers The fingers skeletons in current pose. Array in
output_skeleton The output skeleton generated by this module. Scene out

ID

Node used to paint ids on Shapes. Works together with the BrushID Brush Tool node.

Parent: Node

Plugs

name description type default flags
input The scene containing the Shapes to be painted. Scene in
ids The ids to be painted on the Shapes. Scene in
transfer_scene The scene from which to remap / transfer the ids. @note When using the "Remap ID" action, the "ids" will be remapped from the "transfer_scene" meshes onto the "input" meshes. @note When using the "Transfer" brush, the "transfer_ids" will be transfered from the "transfer_scene" meshes onto the "input" meshes. Scene in
transfer_ids The ids to transfer from the "transfer_scene" when using the "Transfer" brush. Scene in
id_attrib_topology The kind of attribute for the ids: 1 for Shape::Topology::vertex, 2 for Shape::Topology::face. int in
id_attrib_name The name of the attribute for the ids. std::string in
output The scene containing the Shapes with the painted ids. Scene out

IKSolverLimb2

Rig Node used to solve a 2-parts IK limb, e.g. human arm or leg.

Parent: Node

Plugs

name description type default flags
parent_world_transform The world transform of the shoulder joint's parent. Imath::M44d in
parent_world_transform The world transform of the shoulder joint's parent in rest pose. Imath::M44d in
rest_elbow_local The local transform of the elbow joint in rest pose. Imath::M44d in
rest_shoulder_world The world transform of the shoulder joint in rest pose. Imath::M44d in
rest_elbow_world The world transform of the elbow joint in rest pose. Imath::M44d in
rest_wrist_world The world transform of the wrist joint in rest pose. Imath::M44d in
ik_target_ctrl_parent_matrix The parent matrix of the IK target's controller. Imath::M44f in
ik_target_world The world transform of the IK target. Imath::M44d in
ik_solver_plane_normal_negate Whether the plane normal computed from the shoulder, elbow and wrist ref positions must be inverted or not. bool in
ik_solver_plane_normal_hint The axis to use as plane normal for the IK solver in case the shoulder, elbow and wrist are aligned in ref pose. int in
ik_solver_elbow_angle The offset angle, in degree, of rotation of the elbow around the shoudler-wrist axis. float in
ik_solver_pole_vector The world position the elbow should point to. Imath::V3d in
ik_solver_use_pole_vector Whether to use the pole vector when solving IK. bool in
ik_solver_stretch Whether the arm is allowed to stretch or not in IK mode. @note Only available when the shoulder, elbow and wrist are aligned. bool in
ik_solver_reverse_stretch The amount of reverse stretch to apply before bending the arm. @note Only available when the shoulder, elbow and wrist are aligned. float in
ik_solver_stretch_ratio The stretch ratio between the arm (0) and the forearm (1) in IK mode. @note Only available when the shoulder, elbow and wrist are aligned. bool in
solved_ik_transforms_world The IK world transforms of the shoulder, elbow and wrist joints for the ouput skeleton. The transforms are returned in the order mentionned above. // fixme: also returns the local in the same order, after the world Array out

Interpolate

Performs multiple interpolation methods on various types.

Parent: Node

Plugs

name description type default flags
input1 The first input. Value 0 in
input2 The second input. Value 0 in
weights The interpolation weights. Value 0 in
output Return the result of the interpolation. 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

JointModule

SkeletonModule consisting in one joint.

Parent: Node

Plugs

name description type default flags
transform The local transform of the joint w.r.t. its skeleton parent. Imath::M44d in

JointSplineModule

Base SkeletonModule for modules consisting in a chain of n joints defined along a Spline.

Parent: Node

Plugs

name description type default flags
joints_name_pattern The pattern used to compute the name of the chain joints. @note Use "%i" for the chain joint index. std::string in
joints_number The number of chain joints, i.e. n. int in
start_tangent_mode The tangent computation mode at the chain start: 0 for free, 1 for constrained the main_axis. int in
end_tangent_mode The tangent computation mode at the chain end: 0 for free, 1 for constrained the negated main_axis. int in
length_conservation Toggles the conservation of the reference curve length. float in
solved_world_transforms The set of world transforms for the chain joints. Array in
output_skeleton The output skeleton generated by this module and the children skeleton sub-parts. Scene out

LayerGroup

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

Parent: AnimLayer

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

M44f

Construct a 4x4 floating point matrix value. The rotation can be expressed with both a euler angle or a quaternion. The composition order, from left (first) to right (last) is : scaleshearquaternioneulertranslate.

Parent: Node

Plugs

name description type default flags
scale The scale vector. V3f in
shear The shear component. V3f in
euler The rotation expressed with 3 euler angles, in radians. V3f in
rotate_order The euler rotation order. Int in
quaternion The rotation expressed with a quaternion. V3f in
translate The translation vector. V3f in
matrix The result matrix. M44f 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

MakeMatrixCurve

Node used to create a Matrix Curve.

Parent: Node

Plugs

name description type default flags
control_matrices The Matrix Curve control matrices. Array in
main_axis The axis defining the Matrix Curve. int in
type The shape type of the curve: 0 for Constrained Bezier, 1 for Bezier, 2 for Spline. int in
mode The orientation mode of the curve: 0 for Free, 1 for Constrained. int in
curve The Matrix Curve. MatrixCurve 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

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

ManipulatorIDPainter

Rig Node used to paint manipulator id attributes on a character, w.r.t. a given skeleton. @note The manipulator id are stored in a Shape::Topology::face shape attribute.

Parent: ID

Plugs

name description type default flags
id_attrib_topology For manipulator id, we want a per-face attribute, so should be 2. int in
id_attrib_name The name of the attribute for the ids, should be "manipulator_id". std::string in
id_mode How to combine the already present manipulator ids (if any) and the painted ids: - 0 for replace: painted ids only, - 1 for overlay: replace present ids only where painted ids are present, - 2 for skip: already present ids only. int in
output The character with the manipulator ids. Scene out

Mask

Node used to paint float values on Shapes. Uses the BrushMask Tool node to paint the values.

Parent: Node

Plugs

name description type default flags
input The scene containing the Shapes to be painted. Scene in
mask The float values to be painted on the Shapes. Scene in
transfer_scene The scene from which to remap / transfer the mask. @note When using the "Remap Mask" action, the "mask" will be remapped from the "transfer_scene" meshes onto the "input" meshes. @note When using the "Transfer" brush, the "transfer_mask" will be transfered from the "transfer_scene" meshes onto the "input" meshes. Scene in
transfer_mask The float values to transfer from the "transfer_scene" when using the "Transfer" brush. Scene in
attribute The name of the attribute. std::string in
mask_topology The kind of attribute for the float values: 1 for Shape::Topology::vertex, 2 for Shape::Topology::face. int in
default_mask_value The default value to be considered when there is no mask. On the first brush stroke, the mask data are filled with the default_mask_value. float in
weights_mode How to combine the already present weights (if any) and the painted weights: - 0 for override: painted 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. int in
output The scene containing the Shapes with the painted float values. Scene out

Math

Perform multiple mathematical operations on various types.

Parent: Node

Plugs

name description type default flags
operation The math operation to perform. int Operations::Multiply in
input1 The first input. Value 0 in
input2 The second input. Value 0 in
output Return the result of the operation. Value out

MatrixCurveSampler

Node used to sample a Matrix Curve.

Parent: Node

Plugs

name description type default flags
curve The Matrix Curve to sample. MatrixCurve in
N The number of samples. int in
start The curvilinear parameter from which to sample. float in
end The curvilinear parameter up to which to sample float in
uniform Whether the sampling is done along the curvilinear parameter (false) or the curve arc-length (true). bool in
samples The sampled matrices. Array out
curve_mesh The tesselation of the MatrixCurve. Mesh out

Media

Media Node.

Parent: Node

Plugs

name description type default flags
file The original media file name String in

MediaClip

MediaClip Node.

Parent: Node

Plugs

name description type default flags
offset The clip start time offset in seconds float in
source The media source Dict in
play_speed The play speed of the clip float in
clip_in The entry time within the media in seconds float in
clip_out The exiting time within the media in seconds float in
show_thumbnails Show media clip thumbnails if available boolean in
volume The clip sound volume float in

MediaLayer

Media Layer Node.

Parent: BaseLayer

Plugs

name description type default flags
editing The array result of the media clips editing Array out
volume The track sound volume Float in
waveform_scale The scale applied to display the waveform Float in
audio_editing The layer audio out data AudioEditing 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
opacity The image plane opacity. 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

Merge

Merge input collections (Array, Buffer, Dict, Scene). @note When dealing with Scenes, the output Scene is the union of then main Scene with the input scenes, no deletion is performed. In the case were an attribute or child conflicts with the inputs, the latest is chosen. @note When dealing with Scenes, the output Scene matrices and geometries are the latest found.

Parent: Node

Plugs

name description type default flags
main The main collection. Value in
merge_path The path in the main Scene where to insert the input Scenes. std::string in
output Return the merged collection. Value out

MultiMask

Node used to paint float values on Shapes. Works together with the BrushMultiMask Brush Tool node.

Parent: Node

Plugs

name description type default flags
input The scene containing the Shapes to be painted. Scene in
deprecated_input The previous version of the Shapes on which the mask has been painted. Scene in
source The scene used as the source to transfer float values from. Scene in
mask The dict from mask name to mask data (kind, mode, values) to be painted on the Shapes. The mask data are stored in an Array structured as follow: - data[0]: the mask mode w.r.t. mask data already present in the input scene. 0 for Override, 1 for Multiply, 2 for Add, 3 for Skip. - data[1]: the mask topology. 1 for vertex, 2 for face. - data[2]: the mask values, stored as a Dict from geometry paths within the input scene to the SparseBufferFloat of values. Dict in
current_mask The current mask (for display and paint). std::string in
edit Whether painting of the ids is enabled or not. bool in
display Toggles the display of the painted ids. bool in
colormap The colormap to use for the display of the skinning weight: 0 for grayscale, 1 for turbo, 2 for white to red, 3 for boolean. int in
output The scene containing the Shapes with the painted float values. Scene out

Node

The base class of all nodes.

Parent: _

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

NurbsCurve

Base Node used to create a Nurbs Curve.

Parent: Node

Plugs

name description type default flags
control_points The Nurbs Curve control points. Array in
degree The Nurbs Curve degree. int in
mode The Nurbs Curve mode: 0 for Open, 1 for Closed, 2 for Periodic. int in
clamp_start Whether the Nurbs Curve should start at the first control point. bool in
clamp_end Whether the Nurbs Curve should end at the last control point. bool in
curve The Nurbs Curve. NurbsCurve out

NurbsCurveEditor

Interface Node used to create a Nurbs Curve. This Node provides visual display and manipulation of the control points of the curve. Uses the NurbsCurve node to actually build the Nurbs Curve.

Parent: Node

Plugs

name description type default flags
n_points The number of control points for the Nurbs Curve. int in
degree The Nurbs Curve degree. int in
mode The Nurbs Curve mode: 0 for Open, 1 for Closed, 2 for Periodic. int in
clamp_start Whether the Nurbs Curve should start at the first control point. bool in
clamp_end Whether the Nurbs Curve should end at the last control point. bool in
show_control_points Toggles the display of the Nurbs Curve. bool in
show_curve Toggles the display of the Nurbs Curve. bool in
curve The Nurbs Curve. NurbsCurve out
cp_pattern The control points name pattern. @note use %i for the control point index. String in
lateralize_mode The lateralization policy for the control points names w.r.t. the asset nomenclature. 0: no lateralization, 1: int in
lateralize_pattern The lateralization pattern to be set as prefix / suffix if required. String in

NurbsSurface

Base Node used to create a Nurbs Surface.

Parent: Node

Plugs

name description type default flags
loft_curves The Nurbs Curves from which to build the Nurbs Surface (loft). Array in
n_points_u The number of control points for the Nurbs Curve along u. int in
degree_u The Nurbs Surface degree in the first dimension. int in
mode_u The Nurbs Surface mode in the first dimension: 0 for Open, 1 for Closed, 2 for Periodic. int in
clamp_start Whether the Nurbs Curve should start at the first control point. bool in
clamp_end Whether the Nurbs Curve should end at the last control point. bool in
n_points_v The number of control points for the Nurbs Curve along v. int in
degree_v The Nurbs Surface degree in the second dimension. int in
mode_v The Nurbs Surface mode in the second dimension: 0 for Open, 1 for Closed, 2 for Periodic. int in
clamp_start Whether the Nurbs Curve should start at the first control point. bool in
clamp_end Whether the Nurbs Curve should end at the last control point. bool in
surface The Nurbs Surface. NurbsSurface out

NurbsSurfaceEditor

Interface Node used to create a Nurbs Surface. This Node provides visual display and manipulation of the control points of the surface. Uses the NurbsSurface node to actually build the Nurbs Surface.

Parent: Node

Plugs

name description type default flags
n_points_u The number of control points for the Nurbs Curve along u. int in
degree_u The Nurbs Surface degree in the first dimension. int in
mode_u The Nurbs Surface mode in the first dimension: 0 for Open, 1 for Closed, 2 for Periodic. int in
clamp_start Whether the Nurbs Curve should start at the first control point. bool in
clamp_end Whether the Nurbs Curve should end at the last control point. bool in
n_points_v The number of control points for the Nurbs Curve along v. int in
degree_v The Nurbs Surface degree in the second dimension. int in
mode_v The Nurbs Surface mode in the second dimension: 0 for Open, 1 for Closed, 2 for Periodic. int in
clamp_start Whether the Nurbs Curve should start at the first control point. bool in
clamp_end Whether the Nurbs Curve should end at the last control point. bool in
show_control_points Toggles the display of the Nurbs Surface control points. bool in
show_curve Toggles the display of the Nurbs Surface. bool in
surface The Nurbs Surface. NurbsSurface out
cp_pattern The control points name pattern. @note use %i for the control point index in u, %j for the control point index in v. String in
lateralize_mode The lateralization policy for the control points names w.r.t. the asset nomenclature. 0: no lateralization, 1: int in
lateralize_pattern The lateralization pattern to be set as prefix / suffix if required. String in

NurbsSurfaceScene

The base node class of nodes visible in space.

Parent: Node

OrientTransform

Node used to orient a matrix so that its main axis points to the specified target.

Parent: Node

Plugs

name description type default flags
matrix The matrix to orient. Imath::M44d in
main_axis The axis that should aim at the target. int in
target The target for the oriented matrix. Imath::V3d in
output The oriented matrix. Imath::M44d 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_size The text size of the picker node int"" in
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

ProcAnimLayer

Base class for the procedural animation layer nodes, like constraints. Procedural animation layers can be baked to regular animation layers.

Parent: AnimLayer

Quatf

Construct a quaternion.

Parent: Node

Plugs

name description type default flags
x The x component. Float in
y The y component. Float in
z The z component. Float in
w The w component. Float in
normalize Normalize the returned quaternion. Bool in
quaternion Return the quaternion. Quatf 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 ReferenceEdits in

ReferenceSkeletonFromDeformation

Node used to compute the reference pose of a skeleton from a deformed geometry. This node uses the geometry in rest pose and deformed pose, a secondary-skeleton in rest pose, as well as the skinning weights associated to this secondary-skeleton joints to compute the reference pose of this secondary-skeleton. @note This node Workd together with the SecondarySkeletonGenerator and SecondaryJointModule Nodes.

Parent: Node

Plugs

name description type default flags
ref_scene The geometry scene, in the rest pose. Scene in
pose_scene The geometry scene, in the current pose. Scene in
rest_skeleton The skeleton in the rest pose. Scene in
ref_root_world The world matrix of the seleton root in reference pose. Scene in
ref_geo_data The precomputed data from the reference geometry scene. Dict in
ref_skeleton The skeleton in reference pose. Scene out

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

Reparent

Moves a Scene within a scene graph.

Parent: Node

Plugs

name description type default flags
input The scene graph to modify. Scene in
path_in The path to the Scene to be moved. std::string in
path_out The path where to move the Scene. std::string in
output The modified scene graph. Scene out

Rivet

Rig Node used to compute the transform for the given riveting parameters.

Parent: Node

Plugs

name description type default flags
input_scene The Scene to rivet onto. Scene in
rivet The riveting parameters. V4d in
output The riveted transform. M44d out

SceneAttribute

Retrieve an attribute from a Scene object. This attribute can be “name”, “matrix”, “world_matrix”, “show”, “geometry” or any other dynamic attributes.

Parent: Node

Plugs

name description type default flags
shape The input Shape object where the attribute is set. Shape in
path The path of the attribute's node string "" in
attribute_name The attribute name string "matrix" in
value Returns the value if the attribute has been found in the good topology, or returns a default Value. Value out

SceneGraphNode

The base node class of nodes visible in space.

Parent: TransformNode

Plugs

name description type default flags
transform The object's local matrix. M44d in
parent_matrix An optional object parent matrix. This matrix can be used to set a parent world matrix. M44f in
inherits_transform If true, the node inherits its parent world matrix, if false, it doesn't. bool true in
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
rotate_order The rotate order to use when manipulating the object's local matrix. Int in

SceneOverride

Apply attribute overrides to a Scene (except renaming).

   Overrides are given as a description-value plugs pair.
   The desciption plug is a list of 3 semicolon separated strings with:
     - the mode for scene matching: "path", "name", "keyword" or "regex" (using C++ std::regex format)
     - the path/name/pattern to be use to retrieve the scene(s) concerned by the override
     - the path to the (sub-)attribute to override, formatted as requested by the needed NodeDelegates.

Parent: Node

Plugs

name description type default flags
scene The input scene. Scene in
output The modified scene. @note If anything went wrong when applying the overrides, return the input as is. Scene out

Sculpt

Node used to sculpt Shapes. Works together with the BrushSculpt Brush Tool node.

Parent: Node

Plugs

name description type default flags
delta_points The local sculpt delta values on the Shapes. Scene in
reference The input scene in rest pose. Scene in
transfer_scene The scene from which to remap / transfer the sculpt. @note When using the "Remap Sculpt" action, the "delta_points" will be remapped from the "transfer_scene" meshes onto the "input" meshes. @note When using the "Transfer" brush, the "transfer_delta" will be transfered from the "transfer_scene" meshes onto the "input" meshes. Scene in
transfer_mask The local sculpt delta values to transfer from the "transfer_scene" when using the "Transfer" brush. Scene in
effect How much of the sculpt delta values is applied. float in
colormap The colormap to use for the display of the skinning weight: -1 for deltas, 0 for grayscale, 1 for turbo, 2 for white to red, 3 for boolean. int in
output The sculpted scene. 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: DeformLayer

SecondaryJointModule

JointModule consisting in a secondary-skinning joint. This Module extends the JointModule to propose riveting the joint onto a deformed mesh. Secondary skinning allows to bind a skeleton onto the animated version of a character and apply “secondary” deformation.

Parent: Node

Plugs

name description type default flags
rest_parent_world_transform The world transform of the joint's parent in rest pose. Imath::M44d out
ref_world The world transform of the joint in reference pose. Imath::M44d in
rest_local The local transform of the joint in rest pose. Imath::M44f in
rest_world The world transform of the joint in rest pose. Imath::M44d out
ref_position The position of the joint in reference pose. @note This plug can be connected to the parent Module's aim Plug. Imath::V3d out
rest_skeleton The output skeleton generated by this module in the rest pose for the secondary skinning. Scene out

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

SetRestValue

Returns input during a standard evaluation and rest_value during a rest value evaluation. Using this node, one can customize a rest value.

Parent: Node

Plugs

name description type default flags
input The normal value to return. Value in
rest_value The value to return during a rest value evaluation. Value in
output Returns input during a standard evaluation and rest_value during a rest value evaluation. Value out

Shader

Build a shader value. The extra dependencies on the output plug will be used as the shader parameters, using the name of the dependency plug as the parameter name and the value of the dependency plug as the parameter value.

Parent: Node

Plugs

name description type default flags
shader The name of the shader program to use String in
output The shader value Shader 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

ShotMedia

A media node which represents a rumba document.

Parent: Media

Plugs

name description type default flags
file The original media file name, overloaded from Media String in
autoload The document state. 0: the document is loaded and editable. 1: the document is loaded but read only. 2: the document is unloaded bool in

ShotMediaClip

Represents part of a document.

Parent: MediaClip

Plugs

name description type default flags
frame_offset shot start time offset in frames int in
frame_clip_in entry time within the document in frames int in
frame_clip_out exit time within the document in frames int in
camera the path in the shot document of the camera to use to display that clip in the sequence String in

SkeletonModule

Base Node Class for Skeleton assembly Modules. SkeletonModules are procedural skeleton assembly nodes which provide both skeleton setup locators and animation controllers. A SkeletonModule builds a Scene for itself and gathers a set of children skeleton sub-parts. To assemble SkeletonModules together, one must connect the world_transform plug of parent Modules to the parent_world_transform plug of children Modules. When implementing a new Skeleton Module, with its set of parameters, simply override the eval_skeleton plug with the corresponding evaluation function. Also override the associated NodePlugin.

Parent: Node

Plugs

name description type default flags
aim The world position to consider when orienting the main axis of the Module. V3f in
main_axis The axis to be used through the Module's skeleton to the children skeleton sub-parts. int in
up_axis The axis to be used to point "up" along the Module's skeleton. int in
side_axis Whether the axis pointing "sideways" in the local space of the Module's skeleton must be computed using right-hand (positive) or left-hand (negative) convention. int in
world_top_axis The axis to consider as "world up" when building the local frame of the Module's skeleton. int in
offset_angle The offset angle for frame rotation around the main axis of the local frame of the Module's skeleton. float in
parent_world_transform The world transform of the Module's parent. Imath::M44d in
rest_position The rest position of the joint. @note This plug can be connected to the aim plug of the parent Module. Imath::V3f out
world_transform The world matrix of the Module. Imath::M44d out
output_skeleton The output skeleton generated by this module and the children skeleton sub-parts. Scene out

Skinner

Rig Node used to skin a character.

Parent: Node

Plugs

name description type default flags
skeleton The animation skeleton in the current pose. Scene in
skeleton_ref The animation skeleton in reference pose. Scene in
weights_layers The painted skinning weights layers to be flattened into the character. Dict in
transfer_scene The scene from which to remap / transfer the skinning weights and activation mask. @note When using the "Remap Mask" action, the "activation_mask" will be remapped from the "transfer_scene" meshes onto the "input" meshes. @note When using the "Transfer" brush while painting the "activation_mask", the "transfer_mask" will be transfered from the "transfer_scene" meshes onto the "input" meshes. @note For weights transfer, the input's node has to be a Skinner node. @note For final weights transfer, the input's node must also be connected with its corresponding skeleton. Scene in
transfer_mask The activation mask to transfer from the "transfer_scene" when using the "Transfer" brush while painting the "activation_mask". Scene in
transfer_layers The skin layers to transfer from the "transfer_scene" when using the "Transfer" brush while painting the skin layers. Dict in
weights_override An optional set of skinning weights to be used. Dict in
activation_mask An optional per-vertex skinning activation mask. Scene in
default_activation_mask_value The default value to be considered for the activation mask when there is no mask data. On the first brush stroke, the mask data are filled with the default_mask_value. float in
skinning_type The kind of skinning to apply. int in
normalize_weights Whether to normalize the skinning weights when skinning. bool in
weights_epsilon The threshold value to consider a final skinning weight as active. float in
display_layers The name of the weights layer to display. Array out
display_joint_weights Toggles the display of the skinning weight of a given joint. bool in
display_joint The joint to display the skinning weights of. std::string in
display_mode The display mode for the colormap. int in
flatten_weights The flattened skinning weights. Dict out
output The skinned character. Scene out

SkinnerUVN

Rig Node used to deform a character w.r.t. the deformation induced by a UVN MatrixCurve.

Parent: Node

Plugs

name description type default flags
surface The NurbsSurface used as support for the UVN skeleton elements. Scene in
curve The UVN MatrixCurve in the current pose. MatrixCurve in
input_ref The scene whose meshes need to be wrapped, in the wrapping pose. Scene in
surface_ref The NurbsSurface used as support for the UVN skeleton elements. Scene in
curve_ref The UVN MatrixCurve in rest pose. MatrixCurve in
weights The skinning weights. Scene in
transfer_scene The scene from which to remap / transfer the skinning weights. @note When using the "Remap Weights" action, the "weights" will be remapped from the "transfer_scene" meshes onto the "input" meshes. @note When using the "Transfer" brush, the "transfer_weights" will be transfered from the "transfer_scene" meshes onto the "input" meshes. Scene in
transfer_weights The skinning weights to transfer from the "transfer_scene" when using the "Transfer" brush. Scene in
ref_data The reference data, that do not change over the animation, needed to apply the skinning. UserData in/out
output The skinned character. Scene out

SkinningWeightsLayerPainter

Rig Node used to paint skinning weights on a character, w.r.t. a given skeleton, as a set of layers. The weights layers are flattened to produce the final skinning weights. @note The final skinning weights are stored a Shape::Topology::constant shape attribute consisting in a Dict mapping each geometry to a set of per-vertex packed weights buffer. @warning This node is deprecated.

Parent: Node

Plugs

name description type default flags
input The character on which to paint the skinning weights. Scene in
skeleton The skeleton for which to paint the skinning weights. Scene in
transfer_scene The scene from which to remap / transfer the skinning weights. @note For weights transfer, the input's node has to be a SkinningWeightsLayerPainter node. @note For final weights transfer, the input's node must also be connected with its corresponding skeleton. Scene in
weights_layers The painted skinning weights layers to be flattened into the character. Dict in
weights_attribute The name of the output skinning weights attribute. std::string in
weights_epsilon The threshold value to consider a final skinning weight as active. float in
display_layers The name of the weights layer to display. Array out
display_joint_weights Toggles the display of the skinning weight of a given joint. bool in
display_joint The joint to display the skinning weights of. std::string in
skeleton_ref_data The reference skeleton data, that do not change over the animation. UserData out
layer_data The list of layers data: name and if curve. Dict out
flatten_weights The flattened skinning weights. Dict out
display_weights The flattened skinning weights for the requested display. Dict out
output The character with the skinning weights attributes and the display of the desired joint skinning weights. Scene out

SkinningWeightsPainter

Rig Node used to paint skinning weights on a character, w.r.t. a given skeleton. @note The skinning weights are stored as Shape::Topology::vertex shape attributes, one per joint. @warning This node is not supported anymore.

Parent: Node

Plugs

name description type default flags
input The character on which to paint the skinning weights. Scene in
joint_names The list of joints name in the input skeleton. Array in
weights The painted skinning weights to be added to the character. Scene in
source The scene used as the source to transfer skinning weights from. Scene in
normalize Whether the final skinning weights are normalized or not. bool in
current_weight The joint to display the skinning weights of. std::string in
output The character with the skinning weights attributes and the display of the desired joint skinning weights. Scene 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: DeformLayer

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

Time

Return various time values, like the evaluation time.

Parent: Node

Plugs

name description type default flags
fps The number of frames per second. Scene out
start_frame The first animation frame. Scene out
end_frame The last animation frame. Scene out
range_start_frame The first frame of the current animation range. Scene out
range_end_frame The last frame of the current animation range. Scene out
frame The current evaluation time in frames. Scene out
frame_elapsed The elapsed time in frames since the animation beginning. Scene out
seconds The current evaluation time in seconds. Scene out
seconds_elapsed The elapsed time in seconds since the animation beginning. Scene out
normalized The elapsed time since the animation beginning normalized between 0 and 1. Scene out

ToRivet

Rig Node used to compute the riveting parameters of a position onto a Scene geometry.

Parent: Node

Plugs

name description type default flags
input_scene The Scene to rivet onto. Scene in
position The position to rivet. V3d in
output The riveting parameters. V4d out

Tools

The parent node of all tools, located in /tools.

Parent: Node

Plugs

name description type default flags
edited_node This plug is connected to the edited node's "edit" plug. This plug value must stay at true all the time. Bool 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

TransformNode

Node with a matrix transformation, a visibility and tags.

Parent: Node

Plugs

name description type default flags
world_transform The node world transform. M44f out
parent_world_matrix The actual world parent's matrix. M44f out
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
tags_in The node tags. Tags are a string of comma-separated tokens, like "foo,bar". String "" in
tags_out The node final tags. tags_out is the union of the node's tags_in and the node parent's tags_out. String "" out
hovered true if the node is hovered by the mouse. bool false out

UVN

Node representing a transform in the UVN space of a NurbsSurface.

In the UVN space, transforms are treated differently: - the translation component corresponds to the uvn coordinates w.r.t. the support NurbsSurface - the rotation, scale and shear components correspond to offsets w.r.t. the transform at the uvn coordinates.

Hence when multiplying two UVN space transforms, the resulting transform is formatted as follows: - its translation component is the sum of the input’s - its rotation, scale and shear components are those of the result of multiplying the input’s “offset matrices”

Parent: Node

Plugs

name description type default flags
mirror_axis The mirror axis for the uvn coordinates: 0 for None, 1 for U, 2 for V. int in
surface The NurbsSurface. Scene in
transform The object local matrix. M44d in
parent_matrix An optional object parent matrix. M44d in
world_offset The offset matrix to use by the node delegate to build the world_matrix for the transform tools. M44d in
global_uvn The global UVN transform, i.e. the UVN space result of transform * parent_matrix. M44d out
surface_world_matrix The world transform as given by the NurbsSurface at the global_uvn position, i.e. without any offset rotation or scale. M44d out

Unknown

Parent: Node

Plugs

name description type default flags
unknown_class_name Value in

UsdReadScene

That node loads a USD or Alembic file and returns its content as a Scene value.

Parent: Node

Plugs

name description type default flags
file The file path to load. String in
root_path The scene graph path in the input file of the root node to load. If empty, loads all the content of the file. String in
read_proxy If true, read the USD prims with a proxy purpose. Bool in
read_render If true, read the USD prims with a render purpose. Bool in
read_guides If true, read the USD prim with a guide purpose. Bool in
output The loaded file content in a Scene object. Scene out

V2f

Construct a V2f value.

Parent: Node

Plugs

name description type default flags
x The x component. Float in
y The y component. Float in
vector Return the V2f vector. V2d out

V2i

Construct a V2i value.

Parent: Node

Plugs

name description type default flags
x The x component. Int in
y The y component. Int in
vector Return the V2i vector. V2i out

V3f

Construct a V3f value.

Parent: Node

Plugs

name description type default flags
x The x component. Float in
y The y component. Float in
z The z component. Float in
vector Return the V3f vector. V3d out

V3i

Construct a V3i value.

Parent: Node

Plugs

name description type default flags
x The x component. Int in
y The y component. Int in
z The z component. Int in
vector Return the V3i vector. V3i out

V4f

Construct a V4f value.

Parent: Node

Plugs

name description type default flags
x The x component. Float in
y The y component. Float in
z The z component. Float in
w The w component. Float in
vector Return the V4f vector. V4d out

V4i

Construct a V4i value.

Parent: Node

Plugs

name description type default flags
x The x component. Int in
y The y component. Int in
z The z component. Int in
w The w component. Int in
vector Return the V4i vector. V4i out

WeightsSphere

Node used to procedurally generate weights using a sphere.

Parent: SceneGraphNode

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 for the display of the skinning weight: 0 for grayscale, 1 for turbo, 2 for white to red, 3 for boolean. 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
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

WorldToUVN

Node used to pass a position / transform in the UVN space of a NurbsSurface.

Parent: Node

Plugs

name description type default flags
v3f_input The position to pass into the NurbsSurface's UVN space. Imath::V3f in
m44f_input The Transform to pass into the NurbsSurface's UVN space. Imath::M44d in
surface The Nurbs Surface. Scene in
snap Toggles the projection of the ouputs onto the NurbsSurface, i.e. set the N coordinate to 0. bool in
eps Dychotomic projection error. float in
iter Number of dychotomic projection steps. int in
v3f_uvn The UVN point for the input position. Imath::V3f out
transform_uvn The UVN point for the input transform position. Imath::M44f out
transform_uvn The UVN transform for the input transform. Imath::M44d out

Wrapper

Rig node used to wrap the meshes of a scene onto the meshes of another scene.

   The Wrapper Node provides two masks to paint on the input scene:
     - one to specify the desired partial wrapping.
     - one to specify how much the input scene should be kept rigid (w.r.t. its origin).

Parent: Node

Plugs

name description type default flags
driver_filter Expression to select the target geometry. If empty, every geometry in the driver input are used as targets. The expression has a mode and a pattern. Modes can be: name: select the geometry if its name matches the pattern path: select the geometry if its path matches the pattern keyword: select the geometry if the pattern appears in its path regex: select the geometry its path matches the pattern regular expression If the Invert attribute is True, the selected geometry set is inverted. String in
driver The scene to be wrapped onto, in the current pose. Scene in
transfer_scene The scene from which to remap / transfer the wrapper masks. @note When using the "Remap Wrap Input" action, the "mask_to_wrap" will be remapped from the "transfer_scene" meshes onto the "input" meshes. @note When using the "Transfer" brush while painting the "mask_to_wrap", the "transfer_mask" will be transfered from the "transfer_scene" meshes onto the "input" meshes. @note When using the "Remap Rigidify Mask" action, the "rigidify_mask" will be remapped from the "transfer_scene" meshes onto the "input" meshes. @note When using the "Transfer" brush while painting the "rigidify_mask", the "transfer_rigid_mask" will be transfered from the "transfer_scene" meshes onto the "input" meshes. Scene in
transfer_scene The wrapping mask to transfer from the "transfer_scene" when using the "Transfer" brush when painting the "mask_to_wrap". Scene in
transfer_scene The rigid mask to transfer from the "transfer_scene" when using the "Transfer" brush when painting the "rigidify_mask". Scene in
input_ref The scene whose meshes need to be wrapped, in the wrapping pose. Scene in
driver_ref The scene to be wrapped onto, in the wrapping pose. Scene in
mask_to_wrap The mask used to tag the input vertices to be wrapped. Scene in
default_mask_to_wrap_value The default value to be considered for the input mask when there is no mask data. On the first brush stroke, the mask data are filled with the default_mask_value. float in
rigidify_mask The mask used to rigidify the input mesh when wrapping it. Scene in
default_rigidify_mask_value The default value to be considered for the rigidify mask when there is no mask data. On the first brush stroke, the mask data are filled with the default_mask_value. float in
display_mode The display mode for the colormap. int in
wrap_triangles_list The per-mesh triangle list for the driver meshes. Dict out
wrapping_data The wrapping data. Dict out
output The wrapped scene. Scene out

Zipper

Rig Node used to zip two sets of joints of a skeleton.

Parent: Node

Plugs

name description type default flags
skeleton The skeleton containing the joints to zip. Scene in
joints_number The number of joints to zip. int in
set_1_name_pattern The name pattern for the joints of the first joint set. @note Use "%i" for the joint index. std::string in
set_2_name_pattern The name pattern for the joints of the second joint set. @note Use "%i" for the joint index. std::string in
lateralized Whether the joint names in the sets are lateralized w.r.t. the asset nomenclature. bool in
zip_mode Where to zip on: 0-first set, 0.5-center, 1-second set. int in
zip_factor_first The zip strength on the first joint set. float in
zip_factor_second The zip strength on the second joint set. float in
zip_left_to_right The amount of zip from left to right. float in
right_to_center_zip The amount of zip from right to left. float in
zip_center The amount of zip of the central joint. float in
zip_center_offset The offset for the central zip. float in
output_skeleton The output skeleton with the zipped joints. Scene out