If the bodies are moving fast (or very fast sometimes), ODE will miss some collisions and objects are passing through each other.
I tried smaller values in quickStep, there are fewer missings but things become slower.
How can I tune it up ? Or are there any better/complicated ways to deal with this situation ?
I think ODE has a method for fast moving collisions (panda3d system does). But if push comes to shove you need to do it manually. Most fast speed collisions are bullets which are better used as rays. Even big stuff can be made of a couple of moving rays or segments so you are sure to get everything it touched during the frame.
I see. I tried to tune the quickstep sizes on ODE and not able to find a quick and clean way to handle very fast objects. I will try your suggestions later then.
ODE does not have continuous collision detection, like Bullet or Panda. It’s really up to tuning the stuff and maybe making the solids bigger.
That’s what I don’t really understand how ODE works.
I try to set the ode simulation resolution to very high in order to prevent the missing of collisions by using settQuickStepNumIterations(), and a smaller quick steps size in quickStep(). But it is not working as expected.
The Disney ODE video helped me with understanding the limitations of ODE and physics simulations in general. I think the problem is that you’re using Trimesh collisions which are a bit unreliable since they have no real volume, the collision tests only happen on the thin polygon. The best way to do collisions in ODE are with solids, you can try building compound collision solids in addition to your trimesh.