Houdini 20.5 Nodes Geometry nodes

APEX Rigscript Component geometry node

Procedurally builds a rig script for deferred rig building.

On this page
Since 20.0
This feature is still under development. The current functionality is unfinished and subject to change, and may have thin or no documentation. Please bear this in mind when using it.

This node allows you to use rig components to procedurally build up a rig script (as an APEX graph). The rig script acts like a “recipe” that can be applied to your character in one go. Rig scripts can be used to create higher-level rig components from lower-level rig components.

The rig script that is constructed is passed through the RigScript input/output of this node. The APEX Autorig Component SOP does not have a RigScript input/output.

Parameters

Component

Component Source

Choose from the list of currently available rig components, including the following pre-built components:

Component Name

The name of the subnet in the rig script graph (RigScript input) that contains the logic of the current component. Defaults to the node name.

Component File

The file path of the rig component being used. This parameter is automatically populated when a component from Component Source is selected.

Edit Source Script as Snippet

Sets the Component Source to Use Snippet, fetches the source code of the component script, and inserts the code into the Snippet parameter. This is useful if you want to use a component script (created using APEX Script) as a starting point for creating a custom component.

Component Output File

When Component Source is set to Use Second Input, this specifies an output file path for Save to Disk.

Save to Disk

Saves the component script to Component Output File. Updates that are made to the layout of the component parameters on the current node are stored as metadata on the component script geometry (ComponentScript output). The current parameter values of this node are used as default parameter values for the stored component script.

Note

If you store the component script under $HIP/apexcomponents/, $HIP/apexcomponents/, or $HOME/apexcomponents/, it is automatically picked up by Component Source, making it easier for new users to use rig components without having to work directly with graphs.

Rig

Rig Source

The operation to perform if a character’s rig element is added or modified.

Add or Update

Adds/updates the rig (specified by Name) in the CharacterStream input. If no rig exists, one is created if possible.

From Input

Picks up the behavior defined from an upstream APEX Autorig Component SOP.

Add or Replace

Adds/replaces the rig (specified by Name) in the CharacterStream input.

Name

The name of the rig in the CharacterStream input.

Advanced

Parm Source

The source of settings to use for the component script input parameters.

Component

Use the parameters from this node.

Node

Use the parms dictionary from another SOP node specified by the Path and Attribute Name parameters.

Path

When Parm Source is set to Node, this is the path to the SOP node to use.

Attribute Name

When Parm Source is set to Node, this is the name of the dictionary attribute to use.

Component Parameters

This section contains parameters specific to the current rig component (set in Component Source), and will look different depending on the selected component. The parameters are derived from the parameter inputs of the component script graph. In this way, the APEX Rigscript Component SOP serves as an interface for configuring component script inputs.

See the Component Source parameter for links to the pre-built components.

Promote Component Parameters

Parm

Name of the rig script parameter.

Alias

Alias to use for the promoted rig script parameter.

Reset Setup Parms

This button removes all the spare parameters that are used as inputs for the component script.

Reload Setup Parms

This button updates the parameters in this section to those of the current component. This is useful if the input component script parameters have changed.

Component Snippet

The Component Snippet section is available when Component is set to Use Snippet.

Snippet

The APEX Script snippet to execute.

Script

Inspect Line

When turned on, the specified line of code in the Snippet is colored red. This helps with debugging.

Debug

When turned on, prints out the underlying Python ast module syntax structure of the snippet.

Show Traceback

When turned on, shows all the error messages with a full traceback.

Decompile

Convert To Snippet

Converts the pre-shipped component script or graph input (in the second input of this node) to an APEX Script snippet. The functionality of the APEX Script snippet and the input graph are exactly the same.

Keep Node Positions

When turned on, adds the position metadata of all the nodes from the input graph to the decompiled APEX Script snippet. This generates considerably more lines of code.

Keep Node Color

When turned on, adds the color metadata of all the nodes from the input graph to the decompiled APEX Script snippet. This generates considerably more lines of code.

Header

When turned on, a header and footer is added to the snippet. Headers and footers are predefined code snippets that are inserted before and after the current snippet, and are executed together with the snippet. The header and footer help to standardize common operations such as converting a geometry input to a graph and then back into a geometry, and fetching a rig graph from a packed character.

Template

The header template to use for the current snippet.

Basic

Adds an empty template.

Graph

Converts a geometry that is bound to one of the graph inputs to a graph (in the header), and rewrites the graph back to geometry (in the footer).

Component

Fetches the rig graph from a packed character geometry (in the header), and updates the packed character geometry with the graph at the footer.

Custom

Allows the user to edit the header and footer.

Add Version

When turned on, adds the Houdini version to the header, which sets the version of APEX functions to use. This allows for backward compatibility in case new versions of functions with different arguments are added. See special functions for more information.

Show

When turned on, shows the header and footer.

Edit

When turned on, allows the header and footer to be manually edited.

Visualizer

The visualizer options allow you to specify the graph to show in the APEX network view, as well as set color highlights to facilitate debugging. The colors are not applied to the actual output data.

Show

Defines which graph to show in the APEX network view.

Rig

The resulting rig graph extracted from the packed character.

Component Script

The current component script that modifies the character at the current node.

Rig Script

The rig script graph, aka the recipe that describes how to go from the connected rig components to the rig result.

Highlight Added Nodes

When turned on, highlights all the newly added nodes in green, and greys out the other existing nodes. This makes it easier to see the changes made to the graph by this rig component.

Highlight Reconnected Nodes

When turned on, highlights all the nodes that had connections added, modified, or removed on the current rig graph.

Layout Graph

When turned on, applies an automatic layout to the current rig graph.

Inputs

RigScript

The modified rig script being constructed.

CharacterStream

The APEX character geometry to modify.

ComponentScript

The geometry containing an APEX graph to invoke for building the rig. This is typically the RigScript output of a chain of APEX Rigscript Component SOPs.

Outputs

RigScript

The modified rig script being constructed.

CharacterStream

The modified APEX character geometry.

ComponentScript

The component’s APEX graph that was used. Provided for wiring convenience.

See also

Geometry nodes