Bounding Volume (AABB / OBB)
包围盒AABB/OBBAdvancedWrapping a complex object in a simple shape, like a box or sphere, for a quick first pass before exact collision checks.
A bounding volume is a simple geometric shape that fully encloses an object, used to speed up collision detection: if two bounding volumes don't overlap, the objects inside them definitely don't collide, so the expensive exact check can be skipped. The most common are AABB (axis-aligned bounding box, with edges parallel to the world axes, so intersection tests are just per-axis min/max comparisons — but it must be recomputed whenever the object rotates, and it can enclose a lot of empty space) and OBB (oriented bounding box, which rotates with the object's own frame for a tighter fit at the cost of a more expensive test); bounding spheres, capsules, k-DOPs, and convex hulls are also used. Organizing large numbers of bounding volumes into a tree gives a bounding volume hierarchy (BVH): if a parent doesn't overlap, none of its children need checking, cutting query cost from linear to logarithmic. In physics engines and motion planning, AABBs are typically used for broad-phase filtering of candidate colliding pairs, with exact narrow-phase algorithms such as GJK used afterward.
ExampleThe collision library FCL generally recommends a dynamic AABB tree for its broad-phase manager; for triangle-mesh models, it builds an OBBRSS (a combination of OBB and a rectangle-swept sphere) BVH by default for narrow-phase queries.
- Also called
- Bounding Volume Hierarchy, BVH, Axis-Aligned Bounding Box, Oriented Bounding Box
- Related
- Collision Checking · Broad-phase / Narrow-phase Collision Detection · Gilbert-Johnson-Keerthi Algorithm · Collision Geometry (Collider) · Convex Decomposition · Flexible Collision Library (FCL)
- Sources
- Wikipedia: Bounding volume
Wikipedia: Bounding volume hierarchy
FCL (Flexible Collision Library) README