Jump to content

Bullet or RBD for fracturing/crumbling effects?

Recommended Posts

Hello, I'm currently without job, so I tried to replicate the setup that Peter was describing.

it's attached. I don't know if this is exactly what he was describing.

I fractured a box in a few pieces, then in the high res i added another little fracture in a corner, just to test the additional geometry that could come from a cut, or from high res details models maybe??

It seems to work.

I like the approach, if that was the approach :)

Just a consideration when I was working on the setup, I think using attribute transfer is enough if we want to join pieces based on distance, point cloud could be faster but i think you really feel the difference when you have a lot of points to lookup, and if it's a low res sim, we haven't millions of points to lokup so it's ok the attrb transfer.


Share this post

Link to post
Share on other sites

Thanks Menos for the effort to put this together!

I really appreciate your and Peters efforts to help me. I spent quite a lot of time during the weekend trying to understand that professional approach you both demonstrate, but I have to admit this is still a bit too much form me to handle (I'm just starting out with all this). I decided to keep it in mind if I ever have to simulate bigger, more complex stuff, but fell back to simulating the highres pieces directly. For my little simulation that works, and since I switched off "allow caching to disk" on my autodop network node, the speed of my sim also increased tremendously! (makes a lot of sense, writing files to disk (despite having a SSD in place) is timeconsuming). Ram is faster, and since I have 16GB of RAM, I could turn it off without getting any trouble.

I hope you guys aren't too mad at me because of this.I know must have taken a long time to write all this information down and I am incredibly greatfull about it. I really tried to understand it, but at the moment it is just out of my league. I saved all your posts to disk and decided to wait for your tutorials Peter, becaus I think once I am able to follow step by step, having your explaination along with it, it will make sense a lot faster then. I'm sure of that! Again thanks for taking the time!

Considering this, I have switched gears a bit, doing some displacement tests and a first attempt to use glue networks to control my crumbling effect. Here are my results. I will keep up improoving them further of coures! :)

First (early) test using Glue-Networks to keep some pieces intact for a while (until they hit something hard enough to break automtically)

There is more to come! :)



Edited by Scratch

Share this post

Link to post
Share on other sites

Hi all.

I'm following this topic with a lot of interest and I downloaded the file provided by Menoz.

Peter, Is this file doing what you are explaining? if not, could you show us a little example?

And I have another question... Adding the attr piece inside the foreches is a good idea? I mean...is it correct in terms of respecting the piece number / order

Thank you all for this thread!!

Share this post

Link to post
Share on other sites

hi, here!

great topic!!

I`m trying to create similar setup, and i think I may need your help. What I`m trying to do is layered RBD simulation.

Let`s say I have very rough initial sim which is very fast, easy to control and direct. Then I want to create much detailed layers on top of it with more pieces, gluenetworks and constraints.

What I did so far is nice way of copying motion of simple simulation to more complex one.

First thing i tried is just very simple initial simulation and then applying lowres sim matrices directly to hires geometry (I think is similar to pclaes` approach). Good thing is that motion is exactly the same, but another layer of simulation did not work well for what I want. Yes It is possible to make all these pieces inactive rbds BUT it is not possible to glueconstrain active rbd pieces to them. At least I wasn`t able to figure out how to do such a thing.

So I tried another approach. Instead of directly copying positions of each piece I copied it`s velocity. The results are great and exactly what I wanted. Motion is very close to original but I still can use constraints and gluenetworks and even break these pieces again. Simulation times are not fast - I still have to simulate all these new pieces, BUT i also have the ability to control all these pieces fast with initial sim.

Everything sounds great in theory, but I found another thing I need - a way to know which piece to apply these velocity values.

What I`m trying to figure now is which piece is part of active gluenetwork. For example I have piece which is broken in detailed sim, so i don`t want to copy old velocities on it. In other words I just need a way to group pieces which are part of active gluenetwork. I tryied python approach to read gluenetwork geometry values but it is a dead end because when I get gluenetwork geometry data I think it is not possible to get its point/prim values. So It will be great if someone can help.

this is what i did so far:


With or without gluenetwork to keep pieces together they are trying to keep original velocities

I know it is not the best setup ever. Actually i use python for the first time and wasn`t sure how to evaluate it each sim step, so you can see my stupid idea of doing it... It will also be great if someone tell me better way of doing that (:


Edited by rayman

Share this post

Link to post
Share on other sites

Hey rayman,

I'm afraid I can not help you with your problem :(

But I am still working on my rather simple setup, and I will share informations and results as soon as I have resonable progress to present. At the moment I am setting up a three layer system:

1) primary simulation (RBD Bullet + glue-networks)

2) secondary debris system (particle based + copy debris geo to particles)

3) smoke-sim (pyro with no combustion) for dust

As said, it takes a while to tweak all this, but I will of course keep you all posted! :)

See ya soon!

Share this post

Link to post
Share on other sites

Hey Scratch! very interesting topic! :D

How's your project going? any updates?

I am kind of curious to see your final result :D!

Peter, thanks a lot for the very detailed explanations! you make an excellent teacher!

And Menoz thanks for the example file, I was playing a bit with it and its really cool!

Playing around with this stuff I began to wonder if it was possible to apply the same look up technique with dynamically fractured objects?

For example have everything like on the examples, but make some of the lo-res chunks re-fracture dynamically and have the hi-res chunks

(purposefully pre-broken into smaller pieces) divide among the new lo res chunks

I understand that would defeat the purpose of the initial lookup, since we would be incrementing the point count of the lo-res sim inside DOPs

and also messing with the point order and names of the lores sim, but still can't stop thinking that there might be a way.

We do know from the name of the newly created pieces which was their "parent-piece" so i was thinking there may be some way to discern in SOPs

after bringing back the lo-res point cloud if a piece was broken and apply a new lookup point to the pieces of said broken piece.

any ideas?

Share this post

Link to post
Share on other sites

Hey there,

sorry, long time no see, I have been extremely busy, but here is the actual state of the project.

I ended up using prefractured geometry in conjunction with glueclusters, so that I am able to cluster serveral voronoi pieces together. That works just nice and provides me with much more detailed pieces than having single ones, and it has the advantage that you can "subdivid" the geometry furter (using smaller pices) which gives you a better representation and less interpenetration when it comes to simulation. On top of that, I added a particle based debris system.

I am all in all very happy with the result! As you can see, there are some bad debris pieces here and there, but in the end i just cleaned them up manually (delete what goes wrong) and there it was!

Thanks to everybody! This simulation really turned out well. It is part of a bigger project/shot I am working on, so stay tuned for more! As soon as I am finished, you will be among the first to see some results!

The attached file is a zip file, containing a flipbook of the rbd sim including the debris system. Hope you like it guys! Its thanks to you, that I got so far!


Share this post

Link to post
Share on other sites

thanks to peter,philipp and rayman for your hip files wonderful approach,i even just did a bound as a simulation driver for my static mesh and it still look good, didnt even need to bother with convex-ing and interpenetration. on top of that the beautification phase is now separate from the simulation phase. thanks guys love you

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