728x90
OBB
Oriented Bounding Box로, 회전이 가능한 사각형 또는 직육면체를 사용하여. 두 객체가 충돌하는지 를 검출하는 방식이다.
각 객체는 로컬 좌표게에 따라 정렬된 사각형 또는 직육면체 충돌체로 표현되며, 이를 기반으로 충돌 검출과 충돌 처리를 수행한다.
OBB의 검사방식
- 두 객체가 OBB를 생성한다.
OBB는 로컬 좌표계에 기반하여 회전, 크기, 위치 등의 정보를 포함한다.
- 두 객체의 OBB가 겹치는지 확인한다. 이를 위해 Separating Axis Teorem(분리 축 정리) 을 사용하여 OBB의 로컬 축들을 기준으로 프로젝션을 수행하고, 프로젝션 범위를 비교한다.
객체의 중심점을 확인
객체간의 거리를 확인.
- 모든 축에서 겹치는 것을 확인 시 두 객체가 충돌했다고 간주한다.
장점
- 회전이 가능한 객체를 검출 가능하다.
회전각을 고려하여 충돌을 검출할 수 있다. - 다양한 형태의 충돌체 검출이 가능하다.
사각형 뿐 아니라 다양한 형태의 충돌체를 표현할 수 있으며, 3D공간에서도 직육면체로 사용할 수 있어. 더 정교한 충돌 검출이 가능하다.
단점
- 계산이 복잡하다.
OBB 충돌 검출은 AABB에 비해 계산이 더 복잡하고 오버헤드가 클 수 있기 떄문에, 많은 오브젝트들이 충돌검출을 필요로 할 때 성능저하가 일어날 수 있다. - 구현이 복잡하다.
OBB 충돌 검출은 로컬 좌표계 변환, 프로젝션, 분리 축 정리 등을 사용하여 복잡한 계산을 해야하기 때문에 구현이 상대적으로 어렵다.
728x90
'컴퓨터 용어 정리 > 게임 수학' 카테고리의 다른 글
평면방정식 (0) | 2023.11.09 |
---|---|
Slab method (0) | 2023.11.06 |
AABB (0) | 2023.11.06 |
DirectX3D 벡터의 외적 (0) | 2023.10.22 |
DIrectX3D 벡터의 내적(Dot Product) (0) | 2023.10.22 |