Hola~
I'd like to use bullet to simulate a window being smashed by a crowbar. The window is really thin and the crowbar is moving really quickly. In one frame, the crowbar goes from behind the shards, swipes thru nearly all of them, and then stops at the bottom of the stack of shards intersecting the bottom shards. The following frames the crowbar is moving slightly, still intersecting the bottom shards.
Right now, we convert the window shards into dynamic btGImpactMeshShape (and also tried the btConvexTriangleMeshShape). The crowbar is an animated, static btGImpactMeshShape (or btConvexTriangleMeshShape).
I've tried oversampling the animation by large amounts (100x) and cranking up the solver iterations, but the crowbar travels thru the shards without affecting them. If I crank the margin on the crowbar, it eventually works, but the margin is leading the animation by so much it doesn't look very good. If I adjust the shard margin beyond zero, they hit each other and spin off before the crowbar can do it's damage. We've tried thickening the glass, which makes the sim freak out a bit since the shards need to slide over each other.
Any thoughts?
Couple of other datapoints:
- The shards settle on the ground do collide against each other. They jitter on the ground, but they do form a stack that looks sort of reasonable.
- Realtime isn't an issue so I'm for whatever knobs I can tweak to get accuracy.
- I'm using 64-bit Linux if that data point helps at all...
MO
window/thin-shell collision
-
- Posts: 237
- Joined: Tue Jun 29, 2010 10:27 pm
Re: window/thin-shell collision
You could try using a continuous physics world (btContinuousDynamicsWorld) instead of a discrete one. This does a priori checks to catch when collisions should occur. From the API:
Granted, it also says:btContinuousDynamicsWorld adds optional (per object) continuous collision detection (CCD) for fast moving objects to the btDiscreteDynamicsWorld.
This copes with fast moving objects that otherwise would tunnel/miss collisions.
though I'm not sure if that warning is still current or not. The manual seems to indicate that CCD is implemented to at least some extent.Under construction, don't use yet! Please use btDiscreteDynamicsWorld instead.
-
- Posts: 3
- Joined: Thu Apr 21, 2011 5:19 pm
- Location: Pixar
Re: window/thin-shell collision
Hola~
I tried out the continuous world but it doesn't fix the tunneling. Does bullet support tri/tri collisions, or only edge/edge?
MO
I tried out the continuous world but it doesn't fix the tunneling. Does bullet support tri/tri collisions, or only edge/edge?
MO
-
- Posts: 3
- Joined: Thu Apr 21, 2011 5:19 pm
- Location: Pixar
Re: window/thin-shell collision
Hola~
So, I never figure this out. I ended up defining a force in Houdini that swept out the fast moving geometry's path. It's not as effective as a collider, but it allows me to tune Bullet more towards the fast end (less on quality).
If anyone has any ideas, I'd like to hear them.
MO
So, I never figure this out. I ended up defining a force in Houdini that swept out the fast moving geometry's path. It's not as effective as a collider, but it allows me to tune Bullet more towards the fast end (less on quality).
If anyone has any ideas, I'd like to hear them.
MO