728x90
AABB
축이 정렬된 바운딩 박스 ( Axis-Aligned Bounding Box)를 이용하여, 두 객체가 충돌하는지를 파악하는 간단한 알고리즘이다.
객체의 경계를 모두 포함하는 최소크기의 정렬된 사각형 충돌체로 구성되며. 각 축이 절대축과 평행한다.
AABB의 검사방식
- 각 객체의 AABB를 생성한다.
이때 AABB는 해당 객체의 충돌 콜리전의 바운딩 박스를 구성하는 XY좌표로. 좌상단, 우상단, 좌하단, 우하단 으로 이루어져 있다. - 두 객체의 AABB가 겹치는지를 확인한다.
AABB의 겹침 여부는 각 축의 범위를 비교하여 판단한다. X축과 Y축의 범위가 겹치는지를 서로 비교하여 판단하게 된다. - 모든 축에서 겹침을 확인하면, 두 객체는 충돌한다고 간주한다. 그렇지 않았다면 두 객체는 충돌하지 않았다고 판단한다.
장점
- 간단하고 빠른 충돌검출이 가능하다.
AABB 충돌방식은 매우 간단한 수학계산을 통해 충돌을 검출하게 된다.
단점
- 회전된 객체 처리가 불가능하다.
계산식 상 축이 정렬된 객체 기준으로 작성되어 있기 때문에, 축이 회전되어있다 라고 가정한다면 회전체에 대한 접근이 불가능하다. - 사각형 에 대한 객체충돌 검사만 가능하다.
수식이 직선과 직선상의 좌표계산이기 때문에, 회전체, 다각체 에 대한 충돌검사가 불가능하다.
![](https://blog.kakaocdn.net/dn/bjiXRn/btsoxGb3GV7/AH7HzflbgEkqLmJvMS3tP1/img.png)
![](https://blog.kakaocdn.net/dn/ckMvZG/btsovwPDUDG/gTP3vWiYY89dUWPaVQ8D00/img.png)
![](https://blog.kakaocdn.net/dn/b1xcvx/btsovfHrJ5y/lZhKbbM4MTaPhKJCKZQb2K/img.png)
ALeft 는 Au_y 가 Bd_y 보다 큼 으로 false,
ADown 는 Af_x 가 Br_x 보다 큼 으로 false
그럼으로 false가 리턴되어 충돌됨을 알 수 있다.
728x90
'컴퓨터 용어 정리 > 게임 수학' 카테고리의 다른 글
Slab method (0) | 2023.11.06 |
---|---|
OBB (0) | 2023.11.06 |
DirectX3D 벡터의 외적 (0) | 2023.10.22 |
DIrectX3D 벡터의 내적(Dot Product) (0) | 2023.10.22 |
삼각비 계산근거 (0) | 2023.10.21 |