|On this page|
This node creates a Bullet physics simulation where the selected prims are dynamic rigid bodies under the influence of gravity, and you set other prims act as static colliders that don’t move.
This node shows a time-based simulation that replays in the viewer when you press play. However, this node does not actually create USD animation (it does not write time samples to the prims). The workflow is to find a frame of the animation where you like the positioning of the objects, and “snapshot” those transforms. See how to use the node below.
This can be useful to drob a bunch of objects in a natural-looking pile. However, in general the Use Physics mode of the Edit node is much easier to understand and use.
Drop objects using a physics simulation
(You may want to go back to frame 1 or whatever frame you were working on.)
Re-run the simulation to choose a different frame
Tips and notes
By default the simulation uses the full prim geometry. For very detailed geometry, this can be slow and inefficient. See the Simulation Proxy node for how to generate low-res collision geometry for prims.
You can change physics constants (such as friction between the prims, or increasing gravity) to change the simulation outcome.
Increase both gravity and drag to make objects settle faster.
The primitive(s) the node should operate on. You can drag primitives from the scene graph tree pane into this textbox to add their paths, or click the Reselect button beside the text box to select the primitives in the viewer, or ⌃ Ctrl-click the Reselect button to choose prims from a pop-up tree window. You can also use primitive patterns for advanced matching, including matching all prims in a collection (using
Active Geo Representation
How bullet treats geometry when computing collisions.
The default. This tends to be fast and stable in most situations. Acts like the objects have a skin wrapped around outside (ignores concave parts).
More realistic, but more expensive to compute. You should use this sparingly, such as for terrain, which cannot be well represented using the methods described below.
Let the Bullet solver try to fit a basic shape to the object.
Create Rigid Body Per
Create a rigid body per USD
No Traversal means that each primitive specified in the Active Primitives pattern will be turned into a rigid body.
Scene graph paths/patterns selecting prims to collide with. These prims don’t move, but the “active” prims will be affected by them.
Passive Geo Representation
Like Active Geo Representation but for the static colliders.
Prune Other Primitives
Deactivates primitives that don’t participate in the simulation. This can speed up interaction and playback while working on the simulation. Once you're finished simulating, turn this off to get the rest of the scene graph tree back.
Use Stashed Transforms
Apply “stashed” transforms to the selected prims, rather than simulating them. See how to use this node above.
Take the transforms of the simulated prims, and stash them inside this node. Automatically turns on Use stashed transforms. Click this when you find a simulation frame you want to use as the new positions of the selected prims. See how to use this node above.
Delete Stashed Transforms
Delete any stashed transforms inside this node. Automatically turns off Use stashed transforms so the node starts simulating again. See how to use this node above.
A padding distance between shapes, which is used by the Bullet engine to improve the reliability and performance of the collision detection. You may need to scale this value depending on the scale of your scene. The actual collision geometry is shrunk by the same amount to prevent the collision shape from growing by this padding amount.
Initially lift the selected primitives by this amount. This moves objects in the opposite direction of gravity.
Initially spaces active primitives by this amount in the opposite direction of gravity.
The gravity vector, defaults roughly to earth gravity, assuming Houdini units are meters.
A resistance to (drag on) changes in position.
A resistance to (drag on) changes in rotation.
Higher numbers make objects more “sticky”, lower numbers make objects more “slippery”.
Clears the simulation cache, causing the simulation to recook up the current frame.