Below you will find pages that utilize the taxonomy term “constraints”
Posts
Houdini - Controlled Destruction - SOP Solver in DOPs
We can modify constraints and geos while a simulation runs by plugging in SOP Solvers inside a DOP.
The wirings go like this:
[Above] The blue SOP Solver messes with the incoming RBD Packed Object (after the Bullet Solver is done with it), and the red SOP Solver messes with the constraint network.
The various solvers plugged into the Multi Solver (green) are evaluated left-to-right.
In this case, the Bullet Solver does its thing to the packed object, moves shit around, then passes it to the blue SOP Solver.
Posts
Houdini - Animating Constraints
Since a Constraint Network is nothing more than geometry, we can animate it.
Here, we have a line connecting two points, constraining a ball. We move the line up, the ball follows along. Easy.
But not really. First, let’s do what is “intuitive” and setup a network like so:
The Transform SOP (red) moves the entire line up. And this is what we get:
When the sim runs, the constraint network moves up, but the ball doesn’t come along.
Posts
Houdini - Constraints and anchor_id - Part 1
When Houdini builds a Constraint Network, as long as points have @name, it automagically connects points to the centroid of the object specified by @name.
[Left] We have a constraint network (in yellow). The points only have @name declared on them. [Right] Inside DOPs, Houdini finds the object, and smartly connects the bottom points to the centroid of the object. Which results in:
What we need is a way to tell Houdini which points on the target do we want each constraint point to be anchored to.
Posts
Houdini - Constraints and anchor_id - Part 2
See Part 1 here.
99% of the time, when you setup constraint points that are close to/on the surface of a geometry, you don’t actually need i@anchor_id.
[left] We have a constraint network with points that only have @name declared. The points on her body have @name = "thing", the ones on top @name = "".
[right] The constraint network that gets built inside DOPs is as expected, everything just works.
Posts
Houdini - Constraint Networks Basics
A constraint is a single primitive polyline connecting two points. Anything not this will be ignored.
The points tell Houdini what they constrain through a @name attribute. The bottom point, in this case, constrains something called “thing”.
If @name is an empty string [the top point], then it is a “world contraint” e.g. it’s pinned to wherever its position happen to be.
IMPORTANT The @name attribute must exist or the constraint will not be created.