[ODE] Collisions time steps & tunneling effect
Flavien Brebion
f.brebion at vrcontext.com
Tue Jul 22 05:05:02 2003
Greetings,
I'm using ODE 0.039 with OBB / tri-mesh collisions for
an hovercraft racing game. I currently have some issues
with collision detection.
To simply describe the problem, small objets with high
velocities suffer from the tunneling effect. Just using
a flat ground made of 2 triangles, a pretty thick box
just influenced by gravity, if falling from more than
a few meters, passes through the ground more often than
it does not. It seems pretty obvious why (ODE uses
time steps, if the box is completely above the ground
at the previous time step, and if it is completely below
the ground at the next time step, no collision will be
reported). It's less obvious how to fix it..
The doc FAQ mentions the problem so i believe it's
pretty common. It proposes:
- to reduce the time steps: might work, but doing more
time steps also reduces the performance since for the
same elapsed time, you need to do N time steps instead
of doing only 1. Also, in essence it doesn't fix the
problem, just lessens it. A trick IMO.
- increase ERP: don't think it helps if no intersections
between the objects are reported, am i wrong ?
- use a variable time step: how is that different than
the first proposal ?
So basically i'd like to know what everybody's thought
are on this topic, and how you solved it (if you solved
it!).
Thank you,
F. Brebion