Houdini 22.0 Nodes APEX nodes

component::UnpromoteControl

Unpromotes the transform parameters of a control node, optionally replacing it with a locator.

On this page
Since 22.0

Disconnects the promoted input ports (by default, translate, rotate, and scale) of a control node so those channels are no longer driven or exposed on the rig. When a matching guide joint exists, its promote point property is rewritten to the channels that remain promoted, keeping the guides synchronized with the control so they can still be used to update control and joint positions.

Optionally, the control can be replaced with a locator control. The new locator is created as a rig::AbstractControl from the original node, renamed with a pattern, and tagged. It can either keep the original control shape and properties, or use the default cross_wires shape.

The locator’s transform is driven by the original control (the original control’s xform output is connected to the locator’s xform input). As a result, the locator can be selected in the viewport but is locked in place like a visualization - it follows the control and cannot be manipulated directly.

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 rig graph that contains the control.

nodeid: ApexNodeID

The control node to unpromote.

parms: String

The space-separated transform channels whose input ports are disconnected (for example, “t r s”). If locator is set to True, this is set to “t r s”.

guides: Geometry

The optional guide geometry. If it contains a joint matching the control name, its promote property is rewritten to the still-promoted channels.

locator: Bool

If set to True, replaces the control with a new rig::AbstractControl locator and sets parms to “t r s”. The locator is driven by the original control, so it can be selected in the viewport but is locked in place like a visualization and cannot be manipulated directly.

keepshape: Bool

If set to True when creating a locator, keeps the original control’s shape and properties instead of applying the default cross_wires shape.

renamefrom: String

When naming the locator, this is the pattern to rename from.

renameto: String

When naming the locator, this is the pattern to rename to.

tags: StringArray

The tags to assign to the new locator control.

pivot: Bool

If set to True, sets the control’s control.orbit property so it behaves as an orbit/pivot control.

Outputs

*graph: ApexGraphHandle

The rig graph with the unpromoted ports.

guides: Geometry

The guide geometry, with the matching joint’s promote property updated to the still-promoted channels.

ctrl: ApexNodeID

The resulting control node - the original node when locator is set to False, or the newly-created locator node when locator is set to True.

See also

APEX nodes