[ODE] Contacts and multiple updates per frame
mucki
michael.lacher at hlw.co.at
Fri Nov 12 10:15:14 MST 2004
Jon Watte wrote:
>>I have tried this too, and had good experience in my simulations,
>>however I repeatedly ran into problems with contact joints. The problem
>>seems to be that ODE behaves badly (sometimes) when a contact joint is
>>kept for more than one update (probably because thebodies are already
>>seperated again in the later updates ?).
>
>
> You have to COLLIDE AND STEP for each time (and empty the joint group).
> Running more than one step with the same contact joint is not going to
> do the right thing (as you found), and it may also allow tunneling if
> you find you step many steps in a row without collision.
>
Ok, but isn't the tunneling the same when I just do one big timestep
(with varying stepsize) ? I can handle this problem well, so if the
method of having multiple steps with collisions only on the first one is
like variable timesteps but with more stability, I can certainly live
with that.
>
>>however, this brings down the speed to a crawl, as collision takes a lot
>>of time.
>
>
> You should profile your collisions and figure out why. For example, the
> collider bits help a lot in avoiding things like static trees colliding
> with the static ground. Also, make sure you use a HashSpace space, or
> better for your world space; the SimpleSpace is not very efficient.
>
I am not using the ODE collision system, and my scene database is based
on a balanced tree, with frame coherency code and lots of other
improvements. But actually I was more interested in a more generic
discussion about "what would be the best solution if the accurate one is
too slow".
mucki
More information about the ODE
mailing list