Skip to main content
GameDev.net gamedev.net
🔒 Locked

Collision...

Started by Arch Mar 18, 2003 at 7:37 AM 3 replies 400+ views
Original Post
Arch
Arch
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...
JuNC
JuNC
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).
Arch
Arch
thanks...

I hope to find something !!
crazylegs
crazylegs
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
Do it your self!
Arch
Arch
Thanks crazylegs!!

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.