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
Bullet: Simulation explodes at frame 1 - convex hull problem
9237 6 1- Scratch
- Member
- 33 posts
- Joined: 3月 2012
- Offline
- sami.tawil
- Member
- 172 posts
- Joined: 3月 2012
- Offline
- circusmonkey
- Member
- 2624 posts
- Joined: 8月 2006
- Offline
- aweaklingchild
- Member
- 23 posts
- Joined: 4月 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.
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.
- Scratch
- Member
- 33 posts
- Joined: 3月 2012
- Offline
- sami.tawil
- Member
- 172 posts
- Joined: 3月 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
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
- Scratch
- Member
- 33 posts
- Joined: 3月 2012
- Offline
-
- Quick Links