Houdini 20.0 Nodes Geometry nodes

RBD Constraints From Rules geometry node

Creates rigid body constraint geometry from a set of rules and conditions.

On this page
Since 17.5


This is a procedural node that allows you to create and edit constraints based on a set of rules and conditions. For example, you can constrain pieces based on groups and then only constrain the pieces that are within a certain bounding region. Once the rules and conditions are set, you can choose the Connection Type to determine how the constraints are set up.

To...Do this

Edit hinge position

LMB drag the hinge.

Delete hinge

⌃ Ctrl + LMB click the hinge.

Slide hinge position along the constraint line.

MMB drag along the line.

Switch between edit and transform handle

Press 2.

Display/hide bounding box handles

Press 3.

Cycle between handles

Press Z.



Input geometry to create constraints for.

Constraint Geometry

Constraint geometry to be merged with. Used with the match name pairs option.

Proxy Geometry

Proxy geometry. The constraints will be built using this geometry when available.

Bounding Geometry

Input geometry defining the volume within which to create constraints.


Connection Type

Surface Points

Creates constraints connecting closest points from nearby pieces.


Creates 0 length 2 point prim constraints placed at the intersection of the 2 surfaces.

Center of Mass

Creates constraints connecting centroids of nearby pieces.

Hinge Length

Specify the length of the hinge constraint.

Group Type

Specifies how the created constraints should be grouped together. This can be used with the Constraint Group parameter on RBD Constraint Properties to easily alter specific constraints.

Group Name

Adds the created constraints to a primitive group with the specified name.


Assigns the specified name to the constraint_tag primitive attribute for each of the created constraints.

Clear Hinge Edits

Remove all hinge constraint edits.



Create constraints between all pieces.

All to Group

Create constraints between pieces in Group 1 and all other pieces.

Group to Group

Create constraints between pieces in Group 1 and pieces in Group 2.

Points per Area

When connection type is Center of Mass, points are first seeded on the surface of all the objects. There must be enough points for close points to occur to detect close surfaces. This should be scaled down by the square of the geometry size. For example, if your geometry is 10× bigger, you should have 1/100 of the points per area.

Piece Attribute

String or Int primitive attribute name indicating piece boundaries - no constraints will be created between pieces with the same attribute value.

Search Radius

Specify the maximum allowed distance when searching for nearby points.

Max Search Points

Specifies an upper limit on the number of nearby points that can be inspected. Lower numbers will improve performance but run the risk that only points from the same piece will be detected rather than points on nearby pieces, causing connections to be missed.

Max Connections

Specifies an upper limit on the number of pieces that each seed point can be connected to.

Constraints Per Piece

Specify the maximum number of constraints between 2 pieces.

Use Clusters

Use a cluster float attribute to connect pieces with matching values within a given tolerance.


Controls how the Cluster Attribute values and Tolerance are used to connect pieces. Remove Difference will remove constraints where the cluster values differ by more than the Tolerance (connecting only pieces with similar cluster values), and Keep Difference will perform the inverse operation.

Cluster Attribute

Specify the name of the float cluster attribute.


Specify the attrib value tolerance.

Match by Existing Constraints

Constraints will only be created between pieces with name pairs defined by the second inputs constraint geometry. This is mostly useful for converting center of mass constraints to other constraint types.


The group of constraint prims to consider when matching by name pairs.

Keep Constraints

By default the original reference name pair constraint primitives will be replaced by the new constraints. Turning this on will ensure they aren’t deleted.

Keep in Bounding Regions


Generate constraints only within the bounding volume.

Bounding Type

Shape of bounding volume.


Constraints are generated only outside the bounding volume.


Size of the bounding box.


Center of the bounding box.


Rotation of the bounding box.

See also

Geometry nodes