Nick Petit
npetit
About Me
Connect
LOCATION
WEBSITE
Houdini Skills
Availability
Not Specified
My Badges
SideFX Staff
Since Feb 2008
Recent Forum Posts
What am I not understanding about the RBD Car Rig? June 15, 2026, 11:13 p.m.
1) Not entirely sure what you mean by the SOP takes precedence over the DOP - the SOP shouldn't have any effect on the DOP whatsoever. If you can share a hip file with that behaviour, that would be very helpful.
2) The RBD Car Follow Path DOP is really meant to be used in the RBD Bullet Solver SOP's embedded "forces" editable subnet and be plugged into the Pre-Solve output. You can use it with your own dopnet, but it does assume the RBD geometry object is called "rbd_object" and you have the constraint network attached to it (constraint network DOP > Relationship > "Attach Internal Constraints to Object") - the embedded SOP solver affects both the RBD's attributes and the constraint geometry at the same time and assumes the constraint geometry lives under the rbd_object.
For an example of how the network should look, the RBD Car Rig SOP has a "Dynamic Follow Path" quick setup to get you going. The top level RBD Car Follow Path SOP is only there so you can get a preview of the animation and tune it faster, as it drives the parms on the RBD Car Follow Path DOP. To get the dynamic car to follow the animation more closely, you can disable the "Respect Vehicle and Turning Max Speed" option (this is to avoid having the car roll in corners and be dragged along the path on its roof) and play with the Air Resist (the higher the value, the closer to the anim the sim will be, at the expense of looking more contrived).
The RBD Car Follow Path DOP will try and keep the car going along the path by adjusting the wheel constraints' motor speed and adding target velocities to the car body and wheels - if the car is upside down or on its side, it will stop tweaking those, however, as it rolls or isn't completely on its side, it will go back to trying to get the car back on track which will look strange.
To avoid the car rolling, try lowering the tyre friction and lowering the car's center of gravity (on the RBD Car Rig SOP) and animate it in a way that respects the car's maximum speed and turning speed (the RBD Car Follow Path SOP will highlight the areas that exceed those on the curve).
In your case, as you DO want the car to roll, once the car looks like it's about to roll, disable the RBD Car Follow Path DOP so the physics do their thing.
While you can use the RBD Car Follow Path DOP with a RBD fractured car, it's definitely not the most efficient way of doing things - and as such it hasn't been rigorously tested. One requirement for that to work is you need to have some geo defined as "Chassis" (so its name remains as "body").
The recommended way would be to first get a quick sim of the unfractured RBD Car Rig and use the simulation geo or sim points to drive the RBD Car Fracture SOP or a RBD Car Transform SOP and plug that into a RBD Bullet Solver SOP with a start frame set accordingly.
I've attached an example hip file.
3) If the metal behaves more like glass, it might be because you have the default constraint breaking on the RBD Bullet Solver which breaks the soft constraints if their distance goes beyond the given threshold. Disable that or increase the threshold, or target only a subset of the constraints where you want the tearing to appear.
2) The RBD Car Follow Path DOP is really meant to be used in the RBD Bullet Solver SOP's embedded "forces" editable subnet and be plugged into the Pre-Solve output. You can use it with your own dopnet, but it does assume the RBD geometry object is called "rbd_object" and you have the constraint network attached to it (constraint network DOP > Relationship > "Attach Internal Constraints to Object") - the embedded SOP solver affects both the RBD's attributes and the constraint geometry at the same time and assumes the constraint geometry lives under the rbd_object.
For an example of how the network should look, the RBD Car Rig SOP has a "Dynamic Follow Path" quick setup to get you going. The top level RBD Car Follow Path SOP is only there so you can get a preview of the animation and tune it faster, as it drives the parms on the RBD Car Follow Path DOP. To get the dynamic car to follow the animation more closely, you can disable the "Respect Vehicle and Turning Max Speed" option (this is to avoid having the car roll in corners and be dragged along the path on its roof) and play with the Air Resist (the higher the value, the closer to the anim the sim will be, at the expense of looking more contrived).
The RBD Car Follow Path DOP will try and keep the car going along the path by adjusting the wheel constraints' motor speed and adding target velocities to the car body and wheels - if the car is upside down or on its side, it will stop tweaking those, however, as it rolls or isn't completely on its side, it will go back to trying to get the car back on track which will look strange.
To avoid the car rolling, try lowering the tyre friction and lowering the car's center of gravity (on the RBD Car Rig SOP) and animate it in a way that respects the car's maximum speed and turning speed (the RBD Car Follow Path SOP will highlight the areas that exceed those on the curve).
In your case, as you DO want the car to roll, once the car looks like it's about to roll, disable the RBD Car Follow Path DOP so the physics do their thing.
While you can use the RBD Car Follow Path DOP with a RBD fractured car, it's definitely not the most efficient way of doing things - and as such it hasn't been rigorously tested. One requirement for that to work is you need to have some geo defined as "Chassis" (so its name remains as "body").
The recommended way would be to first get a quick sim of the unfractured RBD Car Rig and use the simulation geo or sim points to drive the RBD Car Fracture SOP or a RBD Car Transform SOP and plug that into a RBD Bullet Solver SOP with a start frame set accordingly.
I've attached an example hip file.
3) If the metal behaves more like glass, it might be because you have the default constraint breaking on the RBD Bullet Solver which breaks the soft constraints if their distance goes beyond the given threshold. Disable that or increase the threshold, or target only a subset of the constraints where you want the tearing to appear.
Help storing the activation frame of a piece in an RBD sim May 26, 2026, 5:28 p.m.
The RBD Bullet Solver has an option in the output tab to export "age" and "active_age" as attributes. age is the time since the rbd piece first appeared in the sim, active_age is the time since the rbd was last activated - if you have pieces that become active, then inactive, then active again it will be reset every time it changes from inactive to active and 0 whenever the piece is inactive.
To get the active_age out of the sim, make sure you add it to the list of attributes in the output tab > transfer attributes.
From there, to get the activation frame, you can do:
To get the active_age out of the sim, make sure you add it to the list of attributes in the output tab > transfer attributes.
From there, to get the activation frame, you can do:
@activation_frame = ((@Time - @active_age) / @TimeInc + 2) * (@active_age > 0);
Need help with very simple fracture/explosion/RBD solver May 21, 2026, 7:52 a.m.
Here's an example. When the columns move between the 2 posts, it deletes the outer constraints to let the pieces fly in all directions with an initial force applied to the pieces.
To do that it first needs to find the pieces attached to the constraints' anchor points as the constraints themselves don't actually move during the sim.
It uses 2 wrangles in a sop solver which allows you to access both the constraint geometry and the rbd pieces geo, one to delete the constraints - it needs access to the rbd pieces as mentioned above - and the other simply adds a random force attrib to the rbd pieces.
To do that it first needs to find the pieces attached to the constraints' anchor points as the constraints themselves don't actually move during the sim.
It uses 2 wrangles in a sop solver which allows you to access both the constraint geometry and the rbd pieces geo, one to delete the constraints - it needs access to the rbd pieces as mentioned above - and the other simply adds a random force attrib to the rbd pieces.