Bullet: Simulation explodes at frame 1 - convex hull problem

   8887   6   1
User Avatar
Member
33 posts
Joined: March 2012
Offline
Hey folks,

I'm currently working on a rock-fracturing/destruction effect using bullet for simulation.

I know bullet works with convex hull approximated collision geometry, and all input geometry (pieces) should be convex. This in mind, I tried to prepare my geo to be entirly convex, so no clustering on the voronoi fracture node, just regular voronoi pieces, which should be convex by default. The thing is, they are not entirly. In certain cases, where the input geo has some concave areas (unfortunately, a rock is not a sphere), the collision geo does not match the actual geo. After fracturing, when the pieces are packed back together, I end up having interpenetrating collision geo due to that unmatching pieces (which have a little bit of concavity). This is causing the simulation to explode on frame 1.

How can I prevent this from happening? How can I prepare my geo (a rock) in a way that my sim does not explode?

I know the RBD Solver does not have that problem, but I would love to use Bullet for this project because of it's glue-networks, which are a very handy, artistic tool to control your destruction/crumbling effect. Eventhough, is it better to stick to RBD when it comes to voronoi or fractured stuff in general?

Bullet-Solver
+ fast
+ easy to set up
+ nice (artistic) control using glue-networks
- popping simulation behaviour, exploding on frame 1 because of interpenetrating convex hull collision geo

RBD-Solver
- way slower than bullet
+ much better collision handling (volume based, therefore the shape, whether it is concave, convex or something, is more or less irrelevant)

Thx in advance for your help! I'm looking forward to your answers!

Cheers from Austria,
Philipp
www.scratch-arts.net
User Avatar
Member
172 posts
Joined: March 2012
Offline
idea1:
try the RBD solver but lower the settings as much as you can in the RBD collision tab.
RBD will be a lot faster and you could still get proper result.

idea2:
try in the rbd object in the bullet data collision tab to untick “polygon as convex hull”
probably it will help

hope it helps
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
idea 3 use low res geo for collisions and substitute for hi res after the fact ..

Rob
Gone fishing
User Avatar
Member
23 posts
Joined: April 2012
Offline
Circusmonkey has it. Use a foreach SOP to run over all your pieces and polyreduce them, then upres after simming with a Copy SOP.

One trick I've discovered is to actually create your convex hulls before handing things off to Bullet. Do this after polyreducing in the foreach. I've been using this technique on high-res, concave-heavy meshes with very good results/stability.

Also check out the original Bullet documentation if you haven't already..lots of helpful info on how collision padding, split impulse, etc.
User Avatar
Member
33 posts
Joined: March 2012
Offline
Thanks alot for taking the time to answer! I have to digest all you've said and will be back when I have any reasonable results!

If there is more to know, don't hesitate to throw it in

see ya soon!
www.scratch-arts.net
User Avatar
Member
172 posts
Joined: March 2012
Offline
here is a file i made 2 days ago( am learning myself)
i think it can be useful for you.

it has an activator based on color.
a low res simulation, then i attach back a hi res one
and a force field

Dont forget to change from “transform input geometry” to “Create point to represent object in the ”LOW_RES" node in the network, when you want to use the high detailed model.

hope it helps

Sami

Attachments:
active dynamic.hipnc (330.5 KB)

User Avatar
Member
33 posts
Joined: March 2012
Offline
Thanks alot! I very much appreciate your help folks! There's a lot to try and cover for me, so I better get started
www.scratch-arts.net
  • Quick Links