Jump to content
Sign in to follow this  

Shell fracture precision/interpenetration issues

Recommended Posts

Hi, all...need to do a shatter effect where the outer 'shell' of a static (for now) character/figure crumbles to reveal a different material/surface beneath.

Been doing a lot of testing with a simple torus as it's a fair representation of the tubular topography of most of the figure (arms, legs, torso, etc).

I feel I've finally got a good grasp on all the fracturing basics, but for the life of me I can't keep the outer shell fragments from interpenetrating with the underlying shell. I've tried:

  • Increasing the DOP network substeps
  • Increasing the rigid body solver substeps
  • Switching the RBD packed object geo representation from Convex to Concave
  • Altering the collision padding based on what it does to the guide geometry
  • Increasing the number of fragments in connection with all of the above

The changes either lead to little difference or in cases where I kick up the substeps and subsequently (I think) the precision, the fragments do the old-style 'exploding off the surface' thing.

At this point, I have to wonder...in this situation should I just switch to the RBD solver? I'm okay getting hammered on sim time if I know it's going to work in the end.

Oh, and a question about the collision padding...is that designed to pad the fragment intersection with other surfaces, each other, or both?

Any help would be great. Really been banging my head against the wall on this one.


Shatter Tests - Torus - 02.hiplc

Edited by MoltenCrazy

Share this post

Link to post
Share on other sites


the problem with your scene is the collision object itself, or better said the representation of the collision object that bullet builts for the simulation. You can see and display this collision shape in your RBD Packed Object/Bullet Data and then Show Guide Geometry. The torus for example has no hole any more (because of the convex shape) and thats why all your pieces penetrate through. The problem is that bullet only works/works best with convex geometry, concave geometry will be super slow and unstable.
To simulate such complex collision objects like the torus you need to decompose them into smaller convex pieces that can be handled by the bullet solver. I have added two methods to your scene file and marked the corresponding nodes red. First is the voronoi decomposition. For that you fracture your collision object the same way you did it with your shatter geo and load it as a static object with the rbd packed object (make sure to also give it a name attribute and pack it). If you turn on the Show Guide Geometry you can see the shape fits the torus much better. Of course the more fractures you have the better the representation of the torus will get. The second method ist the vdb spheres method. For that you convert your collision object into a vdb volume and fill the object with spheres. After naming and packing them you can also load them via a RBD Packed Object but make sure to tick the "create convex hull of connected primitives" on. All these Geometry representations like spheres, boxes and so on will be simulated super fast by the bullet engine.
The collision padding will make the collision shape bigger, but also rounder because it kind of extrudes along the corner edges. You can see that pretty good by turning on the Show Guide Geometry and changing the padding amount. There are also some really good videos on the sidefx vimeo channel where Jeff goes over all kinds of collisions with various solvers including bullet.

Shatter Tests - Torus - 02_edit.hiplc

  • Like 1

Share this post

Link to post
Share on other sites

DoH! I was so focused on debugging the fracturing geo I didn't think about the collision geo!

Thanks, Polyxion!

Still new to a lot of this...do you think either the voronoifracture or the vdb approach (or both) would work with deforming/animated geo as well?

Oh, and I'm about halfway through the recent videos by Jeff. Thanks for that as well. :)



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
Sign in to follow this