[ODE] Integrating ODE with Gamebryo

Jon Watte (ODE) hplus-ode at mindcontrol.org
Mon Aug 21 10:32:09 MST 2006


Sounds like Gamebryos collision detection isn't good enough. A single 
point is not sufficient, as you will never come to rest on floors etc in 
that way (you will continually add torque).

If you HAVE to use Gamebryo, I would recommend calling dCollide() to get 
the contact points (with depth) between the objects that Gamebryo tells 
you intersect; i e treat the simple call to dCollide() (which is O(1)) 
as part of generating the contact constraints.

Cheers,

/ h+


Tim Sorrells wrote:
>
> I’m integrating ODE into an engine based on Gamebryo. I’m trying to 
> use Gamebryo’s collision system and build the appropriate dContact 
> structs from info returned from the collision system. There are a few 
> problems with this approach however.
>
> First, the collision system I’m using doesn’t provide a penetration 
> depth. I’ve been fudging it by taking the distance an object traveled 
> last frame and dividing it by two. Of course this doesn’t work well 
> with collision due to rotation or with multiple collisions, one due to 
> linear velocity the other due to rotation, or any similar combination. 
> So I’m wondering if anyone has a better solution for this situation 
> than what I came up with. If it helps I’m primarily colliding 
> rectangular solids.
>
> Second, I’ve noticed some people talking about multiple collision 
> points. Only one collision point will be generated for any two objects 
> no matter how many actual points of intersection there are. Am I 
> correct in understanding that if, say two faces were to collide that 
> ODE would like a point on each corner, or is only one point OK?
>
> Third, I’m avoiding the use of geoms as they only contain collision 
> data, and I’m using a separate system. So I’m putting a 0 in the 
> geomID field for both colliding bodies in the dContact struct. Is this 
> OK, or is this going to cause problems? It didn’t seem to me that for 
> dynamics simulation that you would need to know anything about the 
> bodies. This assuming you had mass, center of mass, collision points, 
> and constraint/joint information filled out correctly. So I’m hoping 
> that the geomIDs weren’t really used here and were for utility purposes.
>



More information about the ODE mailing list