[ODE] Re: ODE on multiplayer games

Megan Fox shalinor at gmail.com
Fri Mar 25 10:48:44 MST 2005


Trouble is, then how do you detect the case of two pool balls?

... that is, pool ball A is rolling (extremely quickly) towards pool
ball B.  Pool ball B, when struck, should fly off at similarly high
speeds.  If the contact forces are clamped such that correction
velocities can't exceed 1m/s, wouldn't pool ball B eat most of the
velocity up without any result at all?

In a general penalty system, how do you tell "bad" penalty (unwanted
interpenetration) from "good" penalty (somewhat high speed collisions
resulting in temporary penetration)?

-Megan Fox

On Fri, 25 Mar 2005 18:23:42 +0100, Alen Ladavac <alenl-ml at croteam.com> wrote:
> > > gradually, what's to stop the case where you update box A (but not box
> > > B), where box A's updated position interpenetrates with box B's local
> > > position, causing a local physics explosion, then you update box B,
> >
> > You know the position and velocity of box A at the time of the update.
> > You can, if you want to, make it immune to other interactions for a brief
> > while after getting the update. Especially if you know objects are at
> > rest (disabled) on the server, you can make that quite sticky in the
> > distribution, so if it interpenetrates with B, B will go flying, but not
> > A.
> 
> IMO, velocity used to resolve interpenetration in the contact joint should
> be clamped to some reasonable velocity (like 1m/s) in general. This keeps
> explosions caused by interpenetration to minimum, in this case and in
> various others.
> 
> JMTC,
> Alen
> 
>


More information about the ODE mailing list