Advertisement

polygon collison....

Started by May 18, 2001 02:43 PM
5 comments, last by shdaga 23 years, 8 months ago
Hi all. Ok i should warn people I dont know thing 1 about 3d engines, but i''ve always had this nagging question in the back of my mind. People are always trying to come up with ways to do collisions between geometric shapes(polygons). I always hear about bounding boxes, or basically any other kind of geometric volume that is sort of placed around another geometric volume...What im wondering is, why not just use the original volume of the geometric object as the bounding volume when determining collision with other geometry? Do you understand what im saying? I seems like an extra step that adds complexity to collision, but remember i dont know anything about 3d systems. Maybe i can give an example of what im saying. Take the game Tekken(its a 3d fighting game) When a character goes into a punch animation, most likely when determining if the punch hits the other player, an invisible bounding object is put around the arm and fist, this is then compared to the invisible bounding object of the other player. Why not just use the actual arm and fist geometry of the character and compare that to the actual geometry of the other player when determining if a collision happened?? would anybody like to clarify the reasons for bounding objects. Thanks
Here's a new dance everyone can do, do the Kirby:<(*.*<) <(^.^)> (>*.*)> <(^.^)> <(*.*<) (>^.^)>
Well, the reason you use bounding shaped is because they''re easier to calculate. Say, for a bounding sphere, you calculate the length of a line between the center of each character''s sphere, and check if char1.radius + char2.radius is greater than the length of the line, and if so, you have a collision. If you do it based on the actual geometry, you have to go through checking every vertex of one character against every polygon of the other, which is very time consuming. Actually, I''m just guessing that''s how it''s done, cause that''s the only way I can think to do it. You might have to do every line instead of just the vertices, since I''m not sure how you''d tell if it was inside or outside the character without having a line to check if it''s actually coming in contact with the polygon.

Hope that made things a little more clear. I really don''t know too much about 3D engines either, but I''ve read articles about bounding boxes and things before, so I know some of the theory.
Advertisement
Oops, forgot to type my name in on that post^^



-Deku-chan

DK Art (my site, which has little programming-related stuff on it, but you should go anyway^_^)
The reason why bounding boxes are used is because it''s simply faster and less complicated to calculate the collision.
Lets suppose we have a model made of 2000 polys hitting another model of 2000 polys. Now how do we know which ones will hit where? That means we would have to check for each polygon colliding with every other polygon. Now if you have to do a cross product for each vertex triangle, thats going to kill speed on any machine except maybe a crae supercomputer.


Edited by - shdaga on May 19, 2001 1:39:01 PM
Here's a new dance everyone can do, do the Kirby:<(*.*<) <(^.^)> (>*.*)> <(^.^)> <(*.*<) (>^.^)>
Advertisement
Hey great point about the high polycount models. I never thought of it like that before, and yes it would be very sub optimal to have to check 2000 polys...Thanks for the insight

bah! who needs a signature?!
Here's a new dance everyone can do, do the Kirby:<(*.*<) <(^.^)> (>*.*)> <(^.^)> <(*.*<) (>^.^)>

This topic is closed to new replies.

Advertisement