[ODE] Trimesh vs Trimesh collisions

Peter twentyseven at urbanterror.net
Mon Dec 20 16:31:59 MST 2004


Can anyone fill me in on the status of trimesh-vs-trimesh collision
detection in ODE?
I currently have a working simulation using a static trimesh as the world
geometry, and spheres and boxes as the dynamic objects.

Creating and using a trimesh geom appears to be working correctly as well,
with moving trimeshs vs moving spheres and boxes seems to be working
correctly as well.

Collision detection between moving trimeshes and moving trimeshes OR moving
trimeshes vs a static trimesh geom appears to be working, to a degree...

The collision occurs and appears to have been detected at the right time...
but the contacts pull the meshes through each other, often with a great deal
of force.  Car trimesh suspended on sphere wheels will "plunge" through a
wall if it hits it, launching it into space on the other side.

So really, my questions 3 are these:

1) Are moving trimeshes vs trimeshes working correctly in ODE?

2) If they are working, can someone please tell me what exactly Im supposed
to be doing with:

"dGeomTriMeshDataSet( TriMeshData,    TRIMESH_LAST_TRANSFORMATION,   (void
*) etc );"

Currently, Im not calling it at all - it says "not implemented" in the
example files for ode 0.5 so figured I'd better ask first.  I can build a
suitable matrix easily enough, but at what part of the simulation should
this be occuring?  (Before the collision detection? After the world step?)
Also it seems like it requires the positions of objects Before the PREVIOUS
collision detection/simstep.. which is really something like..

    A) Gather Object positions.
    B) Collide, Stepworld as usual
    C) Set TRIMESH_LAST_TRANSFORMATION translations from step A)

Correct yes?

3) dGeomTriMeshDataBuildSimple  - I use this currently and it doesn't ask
for normals.  Reversing the winding order on the moving trimeshes doesnt
make the problem any better or worse.  Should I be manually supplying
normals?  Has anyone else noticed any errors due to using BuildSimple over
the strided formats?

Thanks for any light on this subject,

Regards,

Pete.



More information about the ODE mailing list