Jump to content
Magnus Pettersson

Bullet: RBD sim as collision object for second sim

Recommended Posts

Is there a good way to reuse a bullet sim of a fractured object to use as a collision object for a second simulation?

 

Right now the first simulation is a destruction sim of a fractured object with about 17000 pieces and it takes about 2h to simulate. Then i use the first simulations cached geometry as a static deforming object in the second sim and it is calculating the collision shapes every frame for it (which is normal) so the second sim that has just a few hundred boxes takes 15h to simulate wich is way longer than the first sim.

 

Is there any smart way to get my secondary simulation with a few boxes to collide with the first simulation in a fast way?

 

Thanks

/Magnus

Share this post


Link to post
Share on other sites

I actually just ran into this problem recently, and a colleague of mine came up with a pretty quick solution.

 

Inside your DOPnet, use a File DOP to write out your .sim files. Then you can just read them back into another DOPnet and they will collide as normal with other objects in your scene (one-way of course).

Share this post


Link to post
Share on other sites

If you're dealing with packed primitives, you could bring them back in with an RBD Packed Object DOP that's set to Create Animated Static Objects

Share this post


Link to post
Share on other sites

If you're dealing with packed primitives, you could bring them back in with an RBD Packed Object DOP that's set to Create Animated Static Objects

 

Awesome man, that worked like a charm. From 15h to 3min! 

Share this post


Link to post
Share on other sites

Now i get this warning on bullet solver "geometry does not contain required point attributes" when i try to use my fractured simulation as a animated static object and its animation is not updating in the simulation.

 

I cant upload the fracture file unfortunately but does anyone know what can be wrong? I have these point attributes on the packed primitives: P, active, name, v ... and path as primitive attribute.

Share this post


Link to post
Share on other sites

Now i get this warning on bullet solver "geometry does not contain required point attributes" when i try to use my fractured simulation as a animated static object and its animation is not updating in the simulation.

 

I cant upload the fracture file unfortunately but does anyone know what can be wrong? I have these point attributes on the packed primitives: P, active, name, v ... and path as primitive attribute.

 

The solver adds that warning if any of the point attributes that it needs to handle animated/deforming objects ('active', 'animated', 'deforming', and 'orient') are missing.

Share this post


Link to post
Share on other sites

Hi guys,

cwhite, did you get to make it work?

I am having some similar issues in my last project (using Houdini 15.5).  I am trying to use a cache I have already simulated (it's an airplane destruction) to add some props to collide with it. The issue comes because those props are attached to some of the pieces of the simulated cache by glue constraints. When I import the cache into DOPs as packed geometry (animated static object) the constraints doesn't work and the cache doesn't collide properly.

Have you guys had this issue before? Do you have any clues about how to fix it?

 

Thanks!

Share this post


Link to post
Share on other sites

I had to do this just a few days ago and the way I approached it worked smoothly.

I converted my cached geo to an VDB SDF, and read that into my dopnet with a staticobject node with deforming geometry ticked on, using volume collision with my SDF as a proxy volume.

Share this post


Link to post
Share on other sites

Thanks for your answer Jesper Rahlff!

I have tried that too but seems that the constraints doesn't work this way... I even try adding the cache as a packed geo (so that the constraints could work with the pieces I have attached them to) without collisions and then adding the vdb proxy collision as you explained before aswell... and nothing.

As I was running out of time I just re-sim everything together and try to approach a similar result, but I am still wondering if there is a way of making this work (or If I am doing something wrong!).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×