Houdini 20.0 Nodes Geometry nodes

Agent Relationship geometry node

Creates parent-child relationships between agents.

On this page
Since 16.0

This node creates parent-child relationships between agents, where one agent will follow the transform of another agent. This is useful for scenarios such as attaching riders to horse or car agents. Agents can have multiple children attached to them, and the hierarchy can be arbitrarily deep.

By default, the agents in the second input will be attached sequentially to the agents in the Parent Group, looping around if necessary. For custom setups, the agentrel_parentid point attribute can be used to specify which parent agent to attach to.


This node creates the following point attributes. If any of these attributes are present on the input agents, they will override the corresponding parameters.

Name Class Type Description
agentrel_parentid Point Integer

Identifies the parent agent. This will use the id point attribute if present, and otherwise will use point numbers. A value less than 0 indicates that the agent does not have a parent.

agentrel_type Point Integer

Indicates whether to match the parent joint’s position, rotation, or both. The specifications for the values can be found in $HFS/houdini/vex/include/crowd_relationships.h.

agentrel_parentjoint Point String

Specifies a joint of the parent agent that the child agent should be attached to.

agentrel_childjoint Point String

Specifies a joint of the child agent that should be aligned with the parent agent’s joint.

agentrel_P Point Vector

An additional translation for the child agent.

agentrel_orient Point Quaternion

An additional rotation for the child agent.


Parent Group

Specifies which parent agents the child agents will be attached to.

Constrain to Parent Joint

In addition to inheriting the parent agent’s transform, the child agent (or one of its joints) can be attached to a particular joint of the parent agent.

Parent Joint

Specifies the joint to attach the child agent to.

Child Joint

Optionally specifies a joint of the child agent (such as the hips) that should be aligned with the Parent Joint.

Constraint Type

Specifies whether to only constrain the child agent to the position of the Parent Joint, its rotation, or both.


Additional translation to adjust the child’s transform.


Additional rotation to adjust the child’s transform.

Transform Child Agents

Transforms the child agents to attach them to their parents.


AgentRelationshipBasic Example for Agent Relationship geometry node

This example demonstrates how to create a simple parent-child agent setup.

See also

Geometry nodes