쿼드트리에서 확장한 옥트리에 대한 개념을 이해하고 이 둘의 차이점을 이해하고 실제 개발에서 실전 응용을 생각해보자.
옥트리(Octree)는 쿼드트리가 2 차원 공간에서 동작하는 것과 달리 3 차원 공간을 8개의 하위 셀로 재귀적으로 분할하여 각 공간에 포함된 객체를 효율적으로 관리할 수 있게 해주는 트리 기반 자료구조이다.
쿼드트리와 전반적으로 동일하지만, 2 차원 평면상의 4개의 영역을 구분하는 쿼드트리와 달리, 입체적으로 정육면체의 8개의 영역을 구분한다는 점에서 다르다.
즉, 2 차원 사각형 영역의 AABB를 3 차원 박스 영역의 AABB 영역으로 확장한다. 다만 나머지 알고리즘 및 진행 방식은 쿼드트리와 동일하다.
높낮이 요소가 중요한 게임에서 사용할 수 있다. 하지만 3 차원 그래픽이라고 항상 옥트리를 사용할 필요는 없다.
정리하면, 옥트리는
예를 들어, 오픈 월드 게임에서 정적인 월드 오브젝트 탐색에 옥트리는 적합하다. 반면 FPS 게임에서 탄환과 적 충돌하는 상황이나 MOBA 게임에서 수십 개의 유닛이 계속 움직이는 상황에서 적합하지 않다.