[ Converted text/html to text/plain ]
I figured this would be the best place to ask this since my question relates
specifically to Half-Life BSP data structures and algorithms.

I'm trying to do collision detection with the clipnodes in a BSP file, however
I'm having some troubling figuring out exactly how to go about doing this.  I
tried looking at the source to botman's BSP viewer, but his collision
detection doesn't use the clipnodes, that sly dog ;)  My issue is that each
clipnode only stores a single planenum, and "leaf clipnodes" are really just
contents information.

If I have point A, and I want to see if the camera can be moved to point B, I
just check to see if point B is in a solid.  If it is, I want to be able to
determine the exact boundary, so I can do a line intersection and get the
exact point on the wall where we must stop.  However, the planes are setup
hierarchically in the clipnode structure in such a way that it isn't easy to
determine the exact boundary plane.  Clipnodes don't store face information
like render nodes.  I was thinking I could find the plane furthest down in the
clipnode tree that still intersects line AB, but I don't know if that's
deterministic enough.  It needs to find the correct boundary perfectly every
time.

Maybe I'm simply missing something.  Or maybe I should follow in botman's
footsteps and just do spherical collision detection with the render faces, I
dunno :)
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to