[ODE] ODE in a BSP environment
shalinor at gmail.com
Thu Aug 10 09:08:44 MST 2006
My own (limited) testing suggests that having the trimesh in one big
space shouldn't be a huge issue. OPCODE already uses a system (an
octree? kdtree? not sure which) to reduce the number of pointless
collides with a trimesh, so having ODE do the same thing may be a perf
gain or may be a perf hit depending. I'd worry about a per-BSP chunk
trimesh approach if only because of how many excess polygons you're
creating with all those splits.
The important part is, rather, the spaces you throw your dynamic
bodies into, and THOSE you definately want in different sub-spaces (if
you have portals/sectors per region room that's ideal). Especially if
you split your world into separate geoms from the BSP chunks, you'll
also want to be sure that you space your geometry such that you can
disable inner-collisions in the static world. It will quite happily
attempt to collide adjacent floor chunks, accomplishing nothing other
than a huge perf drop.
On 8/10/06, Rodrigo Hernandez <kwizatz at aeongames.com> wrote:
> Also, if you are using portals, you could make a space for each area,
> if you're using Quake 3 bsp files, I believe it already contains portal
> data, if you're doing your
> own home brew BSP, then I guess its up to you :).
> Jason Perkins wrote:
> > On 8/10/06, Jose Marin <jose_marin2 at yahoo.com.br> wrote:
> >> My idea is how to group the triangles for each branch,
> >> to speed up the collision detection.
> > ODE's trimesh collider already builds an AABB tree, so you don't have
> > to worry about that.
> > If you are comfortable traversing the BSP tree yourself (you are
> > probably doing it for rendering anyway), you can locate the brushes
> > near your character and then do a plane/capsule (assuming you are
> > using capsule) test against your characters geom. Just skip the ODE
> > spaces entirely and use dCollide() directly.
> > Jason
> > _______________________________________________
> > ODE mailing list
> > ODE at q12.org
> > http://q12.org/mailman/listinfo/ode
> ODE mailing list
> ODE at q12.org
More information about the ODE