Archived

This topic is now archived and is closed to further replies.

Arch

Collision...

Recommended Posts

Arch    122
I''m making a completely software engine like Quake. I''m studying various collision techniques, but I have not found tutorials for real-time collision where the player can slide along a wall in a quake-like map... I found a solution by applying a sphere-plane collision test to ALL the polygons in the map, but this approach appear slow (especially if we have a high-poly map or a high-detailed map). Which is the best solution in this case ? This metod also allow me to buil maps with an editor like 3d Studio. Infact all I have to do is to read all the map''s polygons and do on these the collision test. Next I heard about bsp tree for the collision... where can I find a good tutorial on this ? Please help me ;-) Thanks for your patience...

Share this post


Link to post
Share on other sites
JuNC    236
The idea is to cut down the number of polygons you need to test, so the sphere-poly test isn''t really that slow (not that it is necessarily what you want). Use some sort of hierarchical structure to partition your poly-soup (e.g. octree, quadtree, BSP, Axis-Aligned-Box tree etc. etc.) then when it comes to collisions, extract a small number of potential colliders from the structure and use those for the sphere-poly test.

Quake uses a solid-leaf BSP which allows them to detect collision soley by clipping a line segment to one of several ''expanded'' collision trees. There was a paper by Stan Melax on expanded BSP tree collision which might be useful for you (do a search, I don''t have the link handy).

Share this post


Link to post
Share on other sites
crazylegs    122
yeah, and if u search the net u can find a copy of michael abrash''s black book which is realy good either for concepts and for optimization,the book have 3 chapters didicated to bsp also in the last chapters he talks about the quake''s technologie, and how bsp is used in there.

Hope it helps

Share this post


Link to post
Share on other sites