답변:
WC3 개발자들이 어떤 종류의 접근 방식을 사용했는지는 확실치 않지만 계층 적 주석 A *와 매우 비슷합니다. WC3Editor에 정의 된 단위 반경은 3D 모델 스케일링에 그대로 사용되었지만 경로 찾기에 대한 실제 단위 크기는 불 연속적입니다 (예 : unitSize = (int) (unitRadius / 10)). 벡터 기반이 아니 었습니다.
고해상도 노드 그리드를 만드는 많은 경로 노드가 있다고 가정 해 봅시다. 구울과 같은 간단한 단위의 크기는 2이므로 그리드에 배치하려면 서로 가까운 4 개의 자유 경로 노드가 필요합니다. 데스 나이트 영웅은 3 개의 크기로 약간 더 커서 9 개의 경로 노드를 사용합니다. 이제 우리는 2 개의 지글 라트를 함께 배치하여 그 사이에 2 개의 노드 전체 공간을 남겨두고 구울과 죽음의 기사를 다른쪽에 보냅니다. 구울은 두 개의 지 그라우트 사이를 통과 할 수 있지만 죽음의 기사는 움직여야합니다. 어떻게 확인할 수 있습니까?
노드가 특정 크기의 단위를 수용 할 수 있는지 확인하기 위해 최대 허용 단위 크기를 정의하는 각 노드에 특별한 여유 값을 할당합시다. 기본적으로 이는 노드에 대한 여러 바운딩 검사가 이루어졌으며 가능한 가장 큰 범위는 노드의 클리어런스로 기억됩니다. 따라서 우리는 어떤 노드에 데스 나이트를 배치하고 싶을 때 노드의 클리어런스를 데스 나이트의 크기와 비교하는 것만 큼 간단합니다. 물론, 노드를 놓고 경쟁하기 위해 여러 유닛이있을 때 상황이 훨씬 더 복잡해 지겠지만 이는 또 다른 이야기입니다.
자세한 내용은이 기사를 확인하십시오.
http://harablog.wordpress.com/2009/01/29/clearance-based-pathfinding/