[ODE] collision strategy.

Cyrille POTEREAU cyrille.potereau at wanadoo.fr
Mon Jan 29 04:49:24 MST 2007

Dear all,

I'm sorry if it has been already asked but I couldn't find a clear answer anywhere.
I'm working on adding ODE in a FPS engine and I've got some performance issue due to collisions detection. Anyway I think this question is very generic and can be useful for a lot of projets. 
I can split my scene objects into 3 kind of objects:
The ground based on a trimesh.
The static actor (houses for example) also based on trimesh.
Dynamic actor like player, crate, barrels etc ... based on one or several primitives.
My question is, what do you think is the best strategy to handle the collision between all these objects ?

My idea was to do the following:

- One quadtree space for each static actor
- One quadtree space for ground. (so the ground is finally just another static actor)
- One hashspace for each dynamic actor.

Is it worth adding the category and collide bitfields to avoid generating collisions between static objects ? Or is the gain be marginal ?
And a last question, in the wiki, it is written that: "ODE's collision detection is optimized to detect geoms that do not move and to precompute as much information as possible about these objects to save time."
How is the "static" element detected ? Do I need to take care of any thing to be sure that it is not mistaken with a dynamic geom ? Is linked to the Transform geom ?

Thanks a lot for your feedback.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mooshika.org/pipermail/ode/attachments/20070129/3034d3b7/attachment.htm

More information about the ODE mailing list