Houdini 20.5 Nodes Geometry nodes

Rig Doctor geometry node

Optimizes and runs checks on a SOP skeleton.

On this page
Since 18.5

This node provides a convenient way of placing “breakpoints” in your network after performing modifications to a skeleton’s topology (i.e. having added, removed, or reparented joints). This allows you to take advantage of optimizations based on a constant skeleton topology and/or name attribute in your downstream network. A constant copy of the input skeleton is stored, and attributes are transferred to this copy from the input.

Any attribute entered in the Attributes to Freeze parameter is not copied from the animation and remains constant on the output.

Parameters

Freeze Time Dependent Attributes

Method

The method of storing the input skeleton.

Stash

Manually stashes the input at the current frame.

Time Shift

Takes the topology from the input at the frame specified in Frame.

Frame

The frame at which to store the topology.

Stash Input

When Method is set to Stash, this button stashes the input topology at the current frame.

Attributes To Freeze

A list of attributes to freeze along with the skeleton’s topology.

Point Names

Initialize Missing Names

When turned on, finds any points with an empty name attribute and initializes the name using the Prefix specified. The prefix is appended with a number starting at 0 and increases for each missing name.

Prefix

The prefix used for initializing empty point names.

Sanitize Names

When turned on, this node checks through the point names, resolving any duplicates and names with spaces (any space in a point’s name is replaced with an underscore).

Store Input Name As

When turned on, stores the input name to the specified point string attribute.

Hierarchy

On Failure

Specifies how the node handles a failed traversal of the skeleton’s hierarchy.

Warning

Displays a node warning but still allows the geometry to pass through.

Error

Displays a node error and interrupts the cooking of the downstream network.

Debug Hierarchy

When turned on, attempts to traverse the input geometry as a SOP skeleton.

Output Parent Index

When turned on, outputs a parent_idx point attribute with its value set to the point number of a given point’s parent.

Output Child Indices

When turned on, outputs an integer array point attribute containing the point numbers of each point’s children.

Output Evaluation Order

When turned on, outputs an integer point attribute set to the order in which the point appears in the traversal.

Transformations

Initialize Transforms

When turned on, creates a 3@transform attribute on the points if missing, and initializes it to identity.

Convert Instance Attributes

When Initialize Transforms is turned on, this sets the 3@transform attribute based on other point instance attributes, as recognized by the Copy To Points SOP.

For orientation, p@orient is used if present. If p@orient is not present, the combination of v@N and v@up is used, setting the Z-axis of the transform to v@N, and the Y-axis to v@up. If none of the above are present, the orientations are set to identity.

For scales, v@scale is used if present. If v@scale is not present, the f@pscale is used. Otherwise the scales are set to identity.

Re-Orient To Child

When turned on, performs a simple reorienting of the points' transforms to point the Vector To Child vector to the next joint in the chain. If the point has multiple children, the average position is used. Leaf joints use their parent’s position as the reference for the orientation. This parameter is available when Initialize Transforms is turned on.

Note

This action takes place after Convert Instance Attributes if Convert Instance Attributes is turned on.

Vector To Child

When Re-Orient To Child is turned on, this is the local space vector of the points' transforms to point toward the point’s child.

Visualize

Joint Axis Style

The style of the axis display.

Gnomon

A simple gnomon guide.

Hats

A flattened cone per-axis that may be more visible in certain situations.

Show Parent to Child

When turned on, displays a guide for each edge in the input geometry pointing from parent to child.

Joint Scale

The scale of the guides.

Initialize Scale From Root

Runs a heuristic to set the Joint Scale parameter based on the root joint’s scale and the size of the skeleton’s bounding box. This can be useful when working with imported skeletons that may have had their units converted.

Inputs

Poly Lines

The skeleton geometry whose topology has been modified upstream.

Outputs

Skeleton

A copy of the input skeleton with its topology frozen.

See also

Geometry nodes