Preventing High-Velocity btHeightfieldTerrainShape tunnels

Post Reply
RJNelson68
Posts: 73
Joined: Tue Oct 06, 2009 3:19 pm

Preventing High-Velocity btHeightfieldTerrainShape tunnels

Post by RJNelson68 »

I am working with Bullet 2.81 but have also tested this with Version 3. I am using an integration with the Torque 3D game engine that is included with it now, but I am working on enhancements to for my own development purposes.

During my work, I have noticed that rigid bodies that collide with a btHeightfieldTerrainShape at high velocities will pass right through it. I have searched the forums here, found a few cases like mine, applied whatever fixes that were available and are now part of Bullet 3. These did not resolve the problem. It is probably important to mention that Torque 3D is using Diamond Subdivision; I have tried other options and it doesn't matter my results are either worse or the same.

Now I am not one for mentioning the competition, but PhysX seems to likely have the same problem, because under identical tests the object slows quite noticeably just prior to collision with the terrain shape. This seems to be the way they have managed to avoid the same issue.

Forgive me if I am asking questions that seem obvious, but I haven't dug into this much further so here goes.
First, is the collision detection actually failing? What I mean is is the impending collision being detected or not? If so, where?
Second, besides the method I observed in PhysX, is there any other way to prevent this issue outside of putting some sort of travel velocity limitation?

Thank you in advance.
StabInTheDark
Posts: 29
Joined: Sat May 18, 2013 1:36 am
Location: NY
Contact:

Re: Preventing High-Velocity btHeightfieldTerrainShape tunne

Post by StabInTheDark »

Have you tried Constant Collision Detection?

http://www.bulletphysics.org/mediawiki- ... n_Clamping
RJNelson68
Posts: 73
Joined: Tue Oct 06, 2009 3:19 pm

Re: Preventing High-Velocity btHeightfieldTerrainShape tunne

Post by RJNelson68 »

A great solution for everything except where I use btCompoundShapes. This doesn't seem to help there. Any ideas?
Post Reply