[ODE] collision strategy.

Jon Watte (ODE) hplus-ode at mindcontrol.org
Mon Jan 29 10:21:21 MST 2007


Why would you have a space per actor? That makes no sense.
I would throw them all into a single quadtree space or hash space, and 
use collider bits to separate out static/static collisions.

          / h+


Cyrille POTEREAU wrote:
>
> 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.
>
> Regards,
> Cyrille
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> ODE mailing list
> ODE at ode.org
> http://mooshika.org/mailman/listinfo/ode


More information about the ODE mailing list