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 |