3D 공간에서 객체를 감싸는 최소 크기의 직육면체 경계 볼륨으로 X/Y/Z 축과 평행한 면들로 구성된 회전 불가능한 직육면체이다.

- Min/Max 두 점으로 박스 정의
- 항상 월드/로컬 축과 평행
- 회전 변환 시 재계산 필요
- 메모리 효율적 (6개 값만 저장)
장점
| 장점 | 설명 |
|---|
| 계산 효율 | 간단한 Min/Max 비교로 빠른 연산 |
| 메모리 효율 | 6개 float/double만 필요 |
| 쿼리 속도 | 교차/포함 검사가 매우 빠름 |
| 구현 단순 | 복잡한 수학 연산 불필요 |
제한사항
| 제한 | 설명 |
|---|
| 회전 불가 | 축 정렬만 가능 (회전된 객체는 비효율적) |
| 정확도 낮음 | 회전된 객체의 경우 불필요하게 큰 박스 |
| 근사치 | 대략적 경계 (정밀 충돌 검출 부적합) |
일반적인 사용 사례
- 충돌 검출 (Broad Phase) : 빠른 1차 충돌 검사
- 공간 분할 (Octree, BVH) : 메시 서브셋의 경계 계산
- 컬링 (Frustum Culling) : 카메라 절두체와 교차 검사
- 메시 분석 : 정규화, 크기 측정, 중심점 계산
- 레이 캐스팅 최적화 : 박스-레이 교차 선행 검사
성능 특성
- 포함 검사 : O(1) - 6번의 비교 연산
- 교차 검사 : O(1) - 최대 6번의 비교 연산
- 레이 교차 : O(1) - Slab method 사용
- 확장/병합 : O(1) - Min/Max 갱신
- 메모리 : O(1) - 고정 크기 (6개 값)
경계 볼륨 비교
| 타입 | 메모리 | 정확도 | 연산 속도 | 회전 지원 | 용도 |
|---|
| AABB | 6 | 낮음 | 매우 빠름 | ❌ | Broad Phase 충돌 검출 |
| OBB | 15 | 중간 | 중간 | ✅ | 회전 객체 경계 |
| Sphere | 4 | 낮음 | 빠름 | ✅ | 간단한 충돌 검출 |
| Convex Hull | 가변 | 높음 | 느림 | ✅ | 정밀 충돌 검출 |