Houdini 21.0 Nodes APEX nodes

component::AddControlGroup

Adds a control group subnet to bundle multiple controls into a single uber control.

On this page
Since 21.0

Creates a control group subnet that bundles multiple controls into a unified control structure. This allows for combining abstract and transform controls into more complex control setups where all the animation parameters of the contained controls are treated as a single unit.

A control group acts as a container that can hold multiple child controls, making it easier to organize and manage complex rig hierarchies. Optionally, a primary control can be added to serve as the main interaction point for the group. Any other control is treated as a subcontrol. Subcontrols are only visible if the control group is the primary selected control. The parameters are only accessible through the animate state’s parameters HUD, which helps to reduce visual clutter in the viewport.

The graph ports of this node are in-place ports, which means the graph is updated without creating a copy.

Inputs

*graph: ApexGraphHandle Required

The APEX graph to add the control group to.

guides: Geometry

The guide geometry that contains joint information that is used for positioning the control group and its primary control.

name: String

The name for the control group. This is used as the base for naming the primary control (for example, if name is set to arm, the primary control will be named arm_main).

tags: StringArray

An array of tags to assign to the control group node for identification and filtering purposes.

addprimary: Bool

If set to True, creates a primary control within the control group. The primary control serves as the main transform control for the group and is automatically named <name>_main.

parent: ApexNodeID

The node to parent the control group’s primary control to. This is used to establish the transform hierarchy.

parentxform: Matrix4

The parent transform matrix. If provided as an identity matrix and a matching joint exists in the guide geometry, the transform will be computed from the guide joint data.

color: Vector3

The display color for the primary control. Defaults to green (0, 1, 0).

shape: String

The shape for the primary control’s viewport representation. Defaults to cogwheel.

size: Float

The display size multiplier for the primary control. Defaults to 1.8 (meters).

Outputs

*graph: ApexGraphHandle

The modified APEX graph that contains the new control group.

controlgroup: ApexNodeID

The new control group subnet. This node has the following properties set:

  • control.primary: The name of the primary control, <name>_main.

  • control.controlgroup: Set to 1 to identify this as a control group.

The two properties also qualify a subnet as a control group.

primary: ApexNodeID

If addprimary is set to True, this is the primary control. Otherwise, this is an empty ApexNodeID. You can create a primary control using component::AddControlGroupPrimary.

See also

APEX nodes