[ODE] ODE with non-penetration constraint
Hendrix_ at gmx.net
Thu Jul 12 23:53:02 MST 2007
the collider will return contact as soon as two objects overlap. So
in order to keep (most of) the ball over the ground, it has to
Assume no other forces act on the objects (e.g. no gravity):
t=0: objects are apart. call collider -> no contacts
t=1: objects overlap. call collider -> get contacts -> generate
constraint that will drive objects apart within 1 timestep (hard
t=2: objects are apart again. Note: they still have their "escape
) Make sure to set the "surface layer" to zero.
) A possible solution would be to enlarge the object, so the
colliding proxy is larger than the object you render.
) Maybe it is possible to use implicit contacts (havent tried):
0) save state
2) collide (future contacts)
3) restore state, use "future contacts"
If you have other forces acting on the objects, the "hard contact"
property might get lost.
On 11.07.2007, at 22:11, Huang Rubby wrote:
> Hi All,
> on ODE manual, it says, "ODE has hard contacts. This means that a
> special non-penetration constraint is used whenever two bodies
> But in my simulation example, which basicly was a ball rolling on
> ground, somehow, I read out the contact point position and found
> the Z - direction (vertical)
> coordinates were -0.005. Which means the contact point was
> underground. How did it happened? Since ODE has Hard contacts for
> each collision.
> Any way to avoid such penetration? Thanks.
> ODE mailing list
> ODE at ode.org
More information about the ODE