저는 현재 2D 게임을 촬영하고 있습니다. 충돌 감지에 쿼드 트리를 사용하고 있습니다. 나는 제대로 나무에 속한 노드/나뭇잎에 내 배우를 푸시 작동 쿼드 트리를 썼습니다. 그러나, 나는 약간 문제가있다.2D 충돌 탐지를위한 QuadTree
첫째, 실제로 네 쿼드 트리를 사용하여 개체가 충돌을 테스트해야하는 다른 개체를 선택하는 방법은 무엇입니까? 어떻게하는지 잘 모르겠습니다.
두 번째 질문이 나타납니다. 노드에 다른 노드의 이웃이 아니지만 객체가 노드가 몇 개에 이르기까지 충분히 크다고 가정 해 봅시다. 실제 충돌을 확인할 수있는 방법은 트리가 아닌 것으로 간주 할 수 있습니다. 멀리있는 노드에있는 객체와 충돌 할만큼 충분히 가깝습니까? 노드에 완전히 들어 가지 않는 객체를 부모 노드에 보관해야합니까?
내 게임에서 대부분의 개체는 크기가 다르며 돌아 다니고 있습니다.
나는 quadtrees에 관한 많은 블로그/기사를 읽었지만, 대부분 내가 찾고있는 것이 아닌 나무를 만드는 법을 설명한다.
도움/정보를 환영합니다.
당신이 만든 게임이 정말로 당신이 링크 한 비디오와 같다면, 그것은 공간 인덱스를 전혀 사용하지 말아야한다는 것입니다. 정렬되지 않은 엔티티 목록은 아마 수백 개의 움직이는 객체까지 더 빨라질 것입니다. – SingleNegationElimination
충돌에 따라 달라질 수 있습니다. 원 기반 충돌의 경우 아마 픽셀 기반이 아닐 것입니다. 또한 1D 정렬 된 엔트리 목록에서 이웃을 찾는 개체 수가 적 으면 일반적으로 IIRC가 가장 빠릅니다. 그러나 작동하는 쿼드 트리를 구현하는 것은 완전한 경험을 위해 가치가 있습니다. (그리고 또한, 총알 지옥 동향 shoot'em UPS는 쉽게 움직이는 개체의 수백을 가질 수 :)) – Kos