Discrete Collision Detection treats all shapes as hollow

Domi
Posts: 4
Joined: Fri Apr 06, 2012 2:10 am

Discrete Collision Detection treats all shapes as hollow

Post by Domi »

Hi,

I expect DCD (Discrete Collision Detection) to treat all closed surface shapes as filled solids, and heightfields to be solids that stretch from heightfield(x,y) to minus infinity (if there is no hole at that tile).

Two examples that show that that is not the case:
1. An object that happens to be a little too fast, falls through a heightfield (or into another, much bigger object) and ends up beneath (or inside) it
-> In case of the heightfield, the object will fall indefinitely [if I don't setup some explicit test to detect and prevent it]

2. A ray casted from inside a sphere to another point inside the same sphere does not report any collisions
-> The ray does not hit anything, even though it is casted inside a solid sphere and thus should hit something somewhere very close to it's starting point.


Here are a few questions:
Is there a flag to make objects solid or am I missing something else?
Is it a weakness of GJK that it can only handle surfaces? What about the non-trimesh collision detection?
Do I have to enable CCD to prevent interpenetration, and if so, how can I make sure that my raytest inside a solid (see case #2, above) will report a collision?


Thank you for Bullet and thank you for your help in advance!
-Dominik


PS: I am a great fan of Bullet, and so far, this is the only big problem for which I cannot find a simple solution.