안녕하세요. 에서 복셀 게임을 만들고 있습니다. 배워야 할 모든 다른 것들을 연구하는 동안 많은 게임이 충돌 감지에 AABB을 사용하는 것으로 나타났습니다. 그리고 나서 Minecraft에서도 AABB을 보았습니다. 하지만 내가 구글을 쓸 때 AABB은 다른 사람들의 코드 나 역사 책에서 나온 몇몇 조직과 함께 나온다. Stackoverflow, 무엇입니까 AABB?AABB - 충돌 감지 란 무엇입니까?
30
A
답변
35
AABB는 "Axis-Aligned Bounding Box"을 나타냅니다.
이것은 일반적으로 두 개의 객체가 접촉하고 있는지를 확인하는 데 사용되는 상당히 계산적이며 메모리 효율적인 볼륨 표현 방법입니다.
축 정렬 되었기 때문에 실제 3D 객체를 잘 "꼭 맞는"것은 아닙니다. AABB 검사는 객체가 충돌할지 여부를 확인하기위한 대략적인 첫 번째 근사치로 사용됩니다. 그런 다음 AABB 검사가 통과되면보다 자세한 검사가 수행됩니다.
예 :
은 당신의 세계를 2 차원 상상해, 당신은 그래프 용지 한 장에 그립니다. 세계에 물건이 있습니다 (공, 나무 등). 개체 중 하나에 대해 AABB를 만들려면 개체 주위에 직사각형을 그려서 선을 종이의 눈금 선과 평행하게 만듭니다.
두 개체에 대한 AABB가있는 경우 AABB가 겹치는 지 확인하기 위해 몇 가지 간단한 계산을 수행 할 수 있습니다. 두 객체가 겹치지 않으면 두 객체가 서로 닿을 수 없기 때문에 충돌 알고리즘을 쉽게 시작할 수 있습니다.
이렇게하면 3D (및 more-Ds)로 쉽게 일반화됩니다.
gamedev.stackexchange.com도 확인할 수 있습니다.
4
축 정렬 경계 상자
기본적으로는 완전히 일반적으로 3 차원 좌표의 쌍에 의해 정의 된 형태를 포함 할 수있는 가장 작은 투자 골.
두 AABB 사이의 충돌을 확인하는 것은 모서리의 X, Y 및 Z 값의 범위를 확인하기 만하면되므로 매우 빠릅니다.
관련 문제
- 1. libGDX의 충돌 감지, 사각형 오버랩 및 AABB
- 2. AABB 충돌 해결
- 3. Swept-AABB 대 AABB 충돌 테스트가 작동하지 않습니다.
- 4. 2D 플랫폼 AABB 충돌 문제
- 5. 충돌 감지
- 6. 축 정렬 경계 상자 충돌 감지 문제
- 7. AABB 충돌 검사 물리 엔진을위한 최상의 데이터 구조는 무엇입니까?
- 8. 충돌 감지
- 9. 충돌 감지
- 10. 충돌 감지
- 11. 빠른 교차 테스트 (AABB-AABB 또는 AABB- 삼각형)
- 12. OpenGL은 2D 충돌 감지 여기
- 13. SKTileMapNode에 충돌 감지 추가
- 14. WinRT에서 충돌 감지/지하철
- 15. OpenGL 스레드 충돌 감지
- 16. 다람쥐 충돌 감지
- 17. 격자 맵의 충돌 감지?
- 18. 간단한 충돌 감지 - Android
- 19. 많은 오브젝트로 충돌 감지
- 20. 충돌 로그에서 "Application Specific Backtrace"란 무엇입니까?
- 21. 충돌 감지 문제 (파이 게임은), "충돌 감지"2 표면이 서로
- 22. 게임에서 충돌 감지 관리
- 23. 스크롤링 게임에서 충돌 감지
- 24. git rebase에서 충돌 감지
- 25. 다각형 선 충돌 감지
- 26. 다각형을 사용하여 충돌 감지
- 27. 최고의 2D 충돌 감지
- 28. LWJGL 충돌 감지 결함
- 29. Cocos2D의 충돌 감지
- 30. 안드로이드 게임 충돌 감지
또한 voxel 게임이 대부분 입방체이기 때문에 축 정렬이라고 생각하지는 않습니다.하지만 RPG를 만들면 내 사람이 공평하게 보이지 않는 벽을 치고 싶다는 생각이 들었습니다. – SemperAmbroscus
thx 나는 이미 gamedev에 등록하여 여기에 게시하는 것이 더 쉽다고 생각했습니다. – SemperAmbroscus
@FeatheredOrcian : 예, 복셀이 이미 축 정렬되어 있고 AABB가 훌륭하면 그렇습니다. 별도로 저장하지 않아도되지만 보셀 데이터에서 데이터를 파생시킬 수 있습니다. – jwd