BSP Collisionhttp://forum.devmaster.net/t/bsp-collision/17756
Im a little confused as to how collision is performed within a BSP tree, specifically the enviroment. From my understanding the tree is traversed, and any nodes that intersected that happen to be leaf nodes have their data collision checked.
That being, in the Quake 3 format, nodes have a left and right child. Where these nodes can be of 2 types, BSP tree nodes, or leaf nodes. BSP tree nodes mark that the child has further children to traverse. Where as the leaf node types marks the end of traversal of this route, and contains data for that node for rendering and collision detection.
Whilts I understand how this works for scene objects. In that the leaf node contains a list of collision brushes. Where each brush is the convex hull of a scene object. I dont understand how you are supposed to check for collisions agains the enviroment, that being the walls,floor and ceiling. Is this data stored in brushes as well? I dont see how that would woek as this enviroment data isnt convex.
Tue, 09 Mar 2010 21:39:39 +0000math & physicsBSP Collision@misc wrote:

Sorry. When they refered to brushes, I thought that specifically meant the collision mesh for scene objects, bot for the enviroment as well. That was my confusion.

The environment may not be convex as a whole but the BSP divides it into convex regions. Each leaf is such a region. While I'm not specifically familiar with Q3 I would guess each leaf contains brushes representing the portion of the environment in that leaf. A brush comes down to a set of planes and its interior is defined as all the points that are behind all of those planes.

Im a little confused as to how collision is performed within a BSP tree, specifically the enviroment. From my understanding the tree is traversed, and any nodes that intersected that happen to be leaf nodes have their data collision checked.

That being, in the Quake 3 format, nodes have a left and right child. Where these nodes can be of 2 types, BSP tree nodes, or leaf nodes. BSP tree nodes mark that the child has further children to traverse. Where as the leaf node types marks the end of traversal of this route, and contains data for that node for rendering and collision detection.

Whilts I understand how this works for scene objects. In that the leaf node contains a list of collision brushes. Where each brush is the convex hull of a scene object. I dont understand how you are supposed to check for collisions agains the enviroment, that being the walls,floor and ceiling. Is this data stored in brushes as well? I dont see how that would woek as this enviroment data isnt convex.