What am I not understanding about the RBD Car Rig?

   482   3   2
User Avatar
Member
89 posts
Joined: 9月 2019
Offline
I'm trying to roll a car so that it can fracture, and there are a few issues I'm having:
  1. The Car Follow Path SOP seems to take priority over the physics inside the Bullet Solver SOP. The car drives straight, then takes a sharp, drifty turn that propels it over a ramp, but instead of continuing on its trajectory as physics would dictate, it drives over the ramp and then continues the rest of its path along the curve, off the ground and facing the wrong direction.
  2. I can't figure out how to make the Car Follow Path DOP work at all. I've tried plugging the car into the DOP network as an RBD object from the geometry output of the Car Rig SOP, and as an RBD packed object using an RBD Pack out of the Car Rig SOP. I've tried placing the Car Follow Path DOP between the object and the RBD Solver DOP, as data into the RBD Solver DOP, and after the RBD Solver DOP. When I move the curve position slider, nothing happens in any of those configurations. Plugging one into the pre-solve of an RBD Solver SOP also doesn't appear to do anything.
  3. I haven't found a combination of settings in the Car Fracture SOP that make the metal parts of the car behave very much like metal. Instead of crumpling like an actual car would, the metal fractures like glass.
I've been experimenting a lot with setup, but what seems to work best overall is this:

Attachments:
Screenshot 2026-06-13 145451.png (27.7 KB)

User Avatar
スタッフ
460 posts
Joined: 2月 2008
Offline
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.

Attachments:
CarFractureDemo.hip (1.1 MB)

User Avatar
Member
89 posts
Joined: 9月 2019
Offline
I've had some time to play around with it, and here are my observations:
  • My car is divided into named groups based on the part of the car ("body", "windshield", etc.), and I had put those names in as both the group and name section of the RBD Car Fracture SOP. Resetting those to the default "section#" seems to have made a huge difference in how the solver responded.
  • The RBD Deform Pieces SOP was the real key to making the fracture look more how I wanted it. If you look at the simulation in the scene you provided BEFORE the Deform Pieces, that's what I was referring to about the metal behaving like glass.
  • I don't know how you got your car to roll like that. My car is taking a much sharper turn than yours, and even with drift disabled it will drift like crazy, oversteering several times, but nothing will stop it from doing its best to follow the curve. Disabling motors and retargeting anchors in the Fracture SOP doesn't appear to do anything.
  • I set the constraints to delete on the window glass, and in previewing the simulation, you can clearly see that the constraints successfully deleted, but they still follow the same path as the car instead of falling as gravity would dictate.
User Avatar
スタッフ
460 posts
Joined: 2月 2008
Offline
If you're using a RBD Car Follow Path DOP with the fractured car, then yes, the sim will behave differently because it assumes "body" is the chassis and will use that to figure out a bunch of things and apply the forces to it, making a bunch of assumptions as to where it in in relation to the wheels - if you have named a section "body", as well as having specified some chassis group, you'll now have 2 packed prims with the name "body" which will only make things worse. You can name the various sections anything else and it shouldn't be any different though - no need to keep them named "section#".

I got the car to roll by raising the car's center of gravity (4x4s are much easier to roll than a racing car hugging the road) and increasing the tyre friction (this prevents the tyres from just sliding on the ground which is where your drift is probably coming from) - you could also soften the suspension too although I didn't have to do that in my case.
In the RBD Bullet Solver, I de-activate the RBD Car Follow Path DOP as soon as the car starts drifting - this lets the sim take its own course without trying to steer the car back on track.

Disabling motors will delete the hard constraints that act as motors (these only exist on the wheels that are meant to be connected to a motor, so front wheels in a FWD car, rear wheels in a RWD car and all wheels in a 4x4 - this all depends on the RBD Car Rig setup) - it won't stop the wheels from spinning naturally as the car moves forward. The RBD Car Follow Path DOP uses the motors to spin the wheels, as well as giving the wheels and the "body" RBDs a targetv which acts as a force to get the car to follow the path. Disabling motors is handy if you want to avoid the wheels constantly spinning after the crash from the hard motor constraints.

Retargeting the anchors only changes the wheel constraints anchor name that used to be connected to the simple Car rig's "body" - this is only useful if the area of the car body the wheels are connected is being fractured. Say you want the whole front of the car to crumple, you fracture the front section of the car and leave the back as the rigid "chassis" - the chassis will still be called "body" and without retargeting the front wheel anchors, they'd still be connected to the rigid chassis, behind them, preventing the front from really crumpling and looking very odd as the wheels would be locked, rigidly bound to the chassis geometry at the back.

If you don't de-activate the RBD Car Follow Path after your crash, and bits start falling off, they will keep being pushed around by forces trying to get them back on track. Without seeing your hip file, I'm going to guess this is what is happening with the shattered glass. If you post a hip file I'd be happy to take a look.

I would recommend you get the RBD Car Follow Path DOP working with a non-fractured RBD Car Rig first, and then use the result from that sim to drive the fractured car (no RBD Car Follow Path needed at this point) - it's a much more efficient way of working and should allow you to iterate a lot faster to get the results you're after - unless there's something preventing you from working that way, in which case I'd love to take a look so we can make things work better for those cases.
  • Quick Links