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.

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.

Dynamics

Learning dynamics

Colliding objects

Simulation types

  • Pyro

    How to simulate smoke, fire, and explosions.

  • Fluids

    How to set up fluid and ocean simulations.

  • Oceans

    How to set up ocean and water surface simulations.

  • Grains

    How to simulate grainy materials (such as sand).

  • MPM

    How to simulate different types of solid materials (such as snow, soil, mud, concrete, metal, jello, rubber, water, honey, and sand).

  • Crowds

    How to create and simulate crowds of characters in Houdini.

  • Cloth

    Vellum uses a Position Based Dynamics approach to cloth, hair, grains, fluids, and softbody objects.

  • Finite Elements

    How to create and simulate deformable objects

  • Hair and Fur

    How to create, style, and add dynamics to hair and fur.

  • Particles

    How to create particle simulations.

  • Waves and ripples

  • Simulating ropes, wires, and other bendable objects

Next steps