Rigid body constraints
Constraints allow you to attach specific rigid bodies together, affecting their movement during the simulation. There are several types of constraint:
- Glue forces the two rigid bodies to move as if they were a single rigid body, effectively merging their movements.
- PointToPoint limits translation so that the local pivot points of two rigid bodies match in world space, allowing a chain of rigid bodies to be connected.
- PointToWorld limits translation relative to the start position.
Creating constraints
Constraints should be added to rigid bodies before they are connected to the simulate_rigid_bodies node, after create_rigid_bodies or set_rigid_properties.

Both sample_and_constrain and constrain_in_radius are convenient nodes that you can use to create constraints between multiple pairs of rigid bodies in a procedural manner. They have controls to filter the points to constrain based on the names assigned in the rigid body properties.
For more direct control, you can use any of the construct_*_constraints nodes to explicitly create constraints. Use add_constraints to add them to the instances before connecting to the simulate_rigid_bodies node.

Breaking constraints
Constraints can be breakable or unbreakable. Breakable constraints have a strength value that determines the amount of force needed to detach the associated instances. Stronger constraints are harder to break.
Broken constraints can be reconnected during the simulation using a constraint_reconnect_influence node connected to the constraint_influences port of the simulate_rigid_bodies node.
Modifying constraints
You can modify constraints during the simulation using the constraint influence nodes in the Simulation::RigidBodies namespace. Like with regular influences, you can daisy-chain them to combine or modulate their effects using masks.
