Dynamic OBB collision

Started by
1 comment, last by Hadrien 23 years, 8 months ago
Hi, I have successfully implemented a static Oriented Bounding Box overlap test routine. Now, I want to implement an overlap test routine for moving Bounding Boxes. I''ve only been able to get very small information about the method. I only got information like "dynamic OBB overlap routine is easy once you made the static version" ... :-/ I found from Dave Eberly''s web site (http://www.magic-software.com/) a source code called "MgcIntrBox3Box3.cpp". It contains routines for such dynamic tests. But a source code can''t really help me understanding the method. Moreover, I would like the overlap routine to give me the time of the beginning of the overlap, if an overlap actually occurs. I wonder if this is possible. Where can I find real information about OBB dynamic overlap tests ? Thx for the answers; -- Hadrien Nilsson
--Hadrien Nilsson
Advertisement
Bonjour,

Pourquoi implemente tu pas une bounding sphere a la place. C''est tres efficace cote vitesse, et avec quelque astuces ca peut devenir tres interessant.

Pour savoir si il y a eu collision entre 2 BoundingSphere, tu as simplement a:

if ( d < ( r1 + r2)) //Collision

d = Distance entre les 2 centres des spheres
r1, r2 = est le rayon respective des spheres

Le rayon est le point le plus eloigner du centre de l''objet.

Le seul petit Hic a cette methode, cest que une BoundingBox est plus serre autour de l''objet, tandis qu''une boundingsphere est plus lousse.

Mais pour palier ce probleme je te suggere un arbre de collision,
Lorsque tu as une collision du passe au prochain niveau, dans le prochain niveau du as dison 3 BoundingSphere, alors maitenant c''est plus serre autour de l''objet.

ex:
root BoundingSphere : Autour de l''objet (homme)
child : Chaque bras, chaque jambe, torse, ...

J''espere que ca te donne des bonnes idees.

Comme tu vois les boundings spheres sont moins precise, mais incomparable en vitesse avec les boundindsbox ....


Happy Codding

LowRad
Hehe, altavista translation:

Hello, Why implemente you not a bounding sphere has the place. It is very effective dimension speed, and with some easy ways Ca can become very interessant. To know if there were collision between 2 BoundingSphere, you have simply a: yew (D < (r1 + r2)) / / Collision D = Distance between the 2 centers of the spheres r1, r2 = is the ray respective of the spheres The ray is the point more to move away from the center of the object. The only small Difficulty has this method, cest that BoundingBox is more greenhouse around the object, while a boundingsphere is more bilge channel. But for stage this problem I you suggere a tree of collision, When you have a collision of the master key on the next level, in the next level of the aces dison 3 BoundingSphere, then maitenant it is more greenhouse around the object. ex: root BoundingSphere: Around the object (man) child: Each arm, each leg, chest... I espere that Ca gives you good idees. As you see the boundings spheres are less precise, but incomparable of speed with the boundindsbox... 


---------------
kieren_j
ÿDesigned for Win32

This topic is closed to new replies.

Advertisement