On this page

Object constraints

Simple constraints exist between simulation objects. You can use the tools on the Rigid bodies shelf tab to create constraints between objects.

A pin constraint constrains an object to stay a certain distance from a goal anchor (as if it was connected to the anchor by a rigid stick, but could otherwise swing freely). A spring constraint applies forces to try to keep an object anchor a certain distance from a goal anchor. Goal anchors can be the location of another object, or world space locations.

Constraint networks

The Constraint Network node uses geometry as a template to establish relationships such as glue, spring, or pin constraints. The geometry contains single-segment polylines representing constraint relationships. For each line, name attributes on the end points specify the pieces linked by the relationship, and primitive attributes on the line control the relationship itself.

See the Constraint Network DOP documentation for information on how it works.

The Glue Adjacent Pieces shelf tool creates a glue network between adjacent pieces for you automatically using a constraint network. Expert users can create the network geometry manually to achieve other effects, such as linking pieces based on some criterion other than proximity.

Expert users can modify the constraint_name (which specifies a piece of relationship data by name, such as Glue or Spring) on various lines using animation or a SOP solver, to dynamically switch between glue and spring constraints.

This type of constraint is especially important for RBD packed objects. Since packed objects are a single simulation object containing multiple pieces, you cannot use regular dynamics constraints (which exist between simulation objects), so the only way to create relationships between the pieces is with a constraint network.

Bullet Constraints

  • The Bullet Solver supports disabling collisions between constrained objects. For constraint networks, the Disable Collisions parameter can be used to control this behavior per constraint.

  • The number of constraint solver iterations performed by the Bullet Solver can be overridden per constraint. For constraint networks, the Constraint Iterations parameter can be used to specify the number of iterations. A value less than or equal to 0 uses the default number of iterations.

How to change the points that are constrained with the pin constraint during simulation

By default, the Constrained Points list does not expect the points to change. However, there is a way to work around this and have the list freshly evaluated by DOPs on every frame.

  1. Click the Pin Constraint node and select Allow Editing on Contents.

  2. Dive into the Pin Constraint node and select anchorobjpointgrouppos1.

  3. Change the Point Group parameter to Set Always.

    See the Anchor: Object Point Group Position help for more information on this node.


Learning dynamics

Colliding objects

Simulation types

Non-DOP simulations

Next steps