A* inspector 의 다양한 설정에 대한 간략한 개요입니다.

  • AstarPath 구성 요소의 인스펙터에는 다음과 같이 5개의 섹션이 있습니다.

    그래프(Graphs): 장면 내의 모든 그래프 목록을 보유합니다.
  • 설정(Settings): 다양한 경로 찾기 및 편집기 설정을 포함합니다.
  • 저장 및 불러오기(Save & Load): 파일에서 그래프를 저장하고 불러오는 기능을 제공합니다.
  • 최적화(Optimization): 컴파일러 지시문을 사용하여 시스템에 적용할 수 있는 다양한 최적화를 포함합니다.
  • 정보(About): 사용 중인 버전 및 문서에 대한 링크 등에 대한 정보를 제공합니다.

또한 '그래프 표시(Show Graphs)' 토글이 있어 장면 보기에서 그래프를 표시하거나 숨길 수 있으며, 마지막으로 '스캔(Scan)' 버튼이 있어 모든 그래프를 재계산할 수 있습니다. 편집기에서 그래프를 스캔하지 않으면 이 버튼을 눌러야 합니다(또는 키보드 단축키를 사용하세요. 키보드 단축키 참조).

 

Graphs

 

그래프 탭에서는 현재 장면에 있는 모든 그래프를 볼 수 있습니다. 여러 개의 그래프를 가질 수 있으며, 모든 그래프는 AstarPath 구성 요소에 저장됩니다(여러 개의 AstarPath 구성 요소를 만들지 않습니다). '새 그래프 추가' 버튼을 클릭하면 생성할 수 있는 모든 그래프 유형의 목록이 표시됩니다.

각 그래프 옆에는 4개의 아이콘이 있습니다.

 

그 아이콘들은 다음과 같습니다:

  • 눈(eye): 장면 보기에서 그래프를 표시하거나 숨깁니다. 그래프가 숨겨진 경우, 이 아이콘은 빨간색으로 변합니다.
  • 펜(pen): 그래프의 이름을 바꾸려면 펜을 클릭하세요. 많은 그래프를 가지고 있고 그 중 어떤 것이 어떤 것인지 추적하기 어려울 때 매우 유용합니다.
  • 정보(i): 'i'를 클릭하면 그래프에 있는 노드 수에 관한 정보가 표시됩니다. 관련 정보를 표시하려면 그래프를 스캔해야 합니다.
  • X: 'X'를 클릭하면 그래프가 삭제됩니다.

각 그래프에 대한 설정에 대한 자세한 내용은 해당 그래프의 문서를 참조하세요.

Graph Types 을 확인하세요.

 

Settings

 

Pathfinding

쓰레드 개수(Thread Count)
사용할 경로 찾기 스레드의 개수입니다.

다중 쓰레딩은 경로 찾기를 다른 쓰레드에서 수행합니다. 이것은 2개 이상의 코어를 가진 컴퓨터에서 성능에 큰 도움이 됩니다. 왜냐하면 경로 찾기가 프레임 속도에 거의 영향을 주지 않기 때문입니다.

None은 경로 찾기가 Unity 쓰레드에서 코루틴으로 실행됨을 의미합니다.

Automatic은 컴퓨터의 코어 수와 메모리에 따라 쓰레드 수를 자동으로 조정하려고 합니다. 512MB 미만의 메모리 또는 단일 코어 컴퓨터의 경우 다중 쓰레딩을 사용하지 않도록 되돌릴 것입니다.

사용 가능한 "자동" 설정 중 하나를 사용하는 것이 권장됩니다. 이유는 컴퓨터가 강력하고 8개의 코어가 있더라도 다른 컴퓨터는 쿼드 코어 또는 듀얼 코어일 수 있기 때문입니다. 이 경우 각각 1개 또는 3개의 스레드 이상의 이점을 누릴 수 없습니다(일반적으로 Unity 쓰레드에는 하나의 코어를 남겨두는 것이 좋습니다). 컴퓨터의 코어 수보다 더 많은 스레드를 사용하면 대부분의 경우 메모리를 낭비하기만 합니다. 더 많은 메모리 사용은 중요합니다. 각 스레드는 모든 그래프의 각 노드에 대해 작은 양의 데이터를 유지해야 합니다. 이것은 전체 그래프 데이터가 아니지만 노드 수에 비례합니다. 자동 설정은 실행되는 기계를 검사하고 메모리가 낭비되지 않도록 스레드 수를 결정하여 사용합니다.

예외는 동시에 활성화된 캐릭터가 한 명(또는 두 명) 뿐인 경우입니다. 그런 경우에는 아마도 추가적인 스레드가 제공하는 추가 처리량이 필요하지 않을 가능성이 매우 낮기 때문에 항상 하나의 스레드를 사용하는 것이 좋습니다. 더 많은 스레드는 주로 서로 다른 스레드에서 서로 다른 경로를 계산함으로써 처리량을 증가시킵니다. 개별 경로를 더 빨리 계산하지는 않습니다.

경로 찾기 코어 스크립트를 수정하거나 안전한 래퍼(AddWorkItem과 같은)를 사용하지 않고 직접 그래프 데이터를 수정하는 경우 다중 쓰레딩이 이상한 오류를 발생시킬 수 있으며 신중하지 않으면 경로 찾기가 작동을 멈출 수 있습니다. 기본 사용법(경로 찾기 코어 수정 없음)에는 안전합니다.

참고:
WebGL은 전혀 스레드를 지원하지 않습니다(자바스크립트가 단일 스레드이기 때문에). 따라서 해당 플랫폼에서는 스레드가 사용되지 않습니다.
CalculateThreadCount를 확인하세요.
"A* Pro 기능
이것은 A* Pathfinding Project Pro 전용 기능입니다. 이 기능/클래스/변수는 A* Pathfinding Project의 무료 버전에 존재하지 않을 수 있으며 기능이 제한될 수 있습니다.
이 설정은 AstarPath.threadCount 멤버에 해당합니다.

 

 

최대 인접 노드 거리(Max Nearest Node Distance)
노드를 검색할 최대 거리입니다.

특정 지점의 가장 가까운 노드를 찾을 때, 이것은 허용되는 최대 거리(월드 단위)입니다.

이것은 도달할 수 없는 지점으로 경로를 요청하고 그 지점에 도달할 수 있는 가장 가까운 노드를 찾아야 할 때 관련됩니다(그 노드가 멀리 떨어져 있을 수 있음). 이 거리 내에서 노드를 찾을 수 없으면 경로가 실패합니다.

자세한 내용 및 다른 모드에 대한 설명은 Pathfinding.Heuristic를 참조하세요.
Wikipedia: Admissible heuristic
Wikipedia: A* search algorithm
Wikipedia: Dijkstra's Algorithm
경고
휴리스틱 스케일을 1 아래로 줄이거나 휴리스틱을 비활성화하면 특히 큰 그래프에 대해 경로 찾기의 CPU 비용이 상당히 증가할 수 있습니다.
이 설정은 AstarPath.heuristic 멤버에 해당합니다.

 

 

Heuristic Scale
휴리스틱의 스케일입니다.

1보다 작은 값이 사용되면 경로 탐색기는 더 많은 노드를 검색합니다(느림). 0을 사용하면 경로 찾기 알고리즘이 다익스트라 알고리즘으로 감소합니다. 이는 휴리스틱을 None으로 설정하는 것과 동일합니다. 1보다 큰 값이 사용되면 경로 찾기가 (보통) 더 빠를 수 있습니다. 왜냐하면 더 적은 노드를 확장하기 때문이지만, 경로가 최적(즉, 가능한 가장 짧은 경로)이 아닐 수 있습니다.

보통 이 값을 기본값인 1로 유지하는 것이 좋습니다.

경고
휴리스틱 스케일을 1 아래로 줄이거나 휴리스틱을 비활성화하면 특히 큰 그래프에 대해 경로 찾기의 CPU 비용이 상당히 증가할 수 있습니다.
참고:
https://en.wikipedia.org/wiki/Admissible_heuristic
https://en.wikipedia.org/wiki/A*_search_algorithm
https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm
이 설정은 AstarPath.heuristicScale 멤버에 해당합니다.

 

 

Advanced

Heuristic Optimization
휴리스틱 최적화를 사용할지 여부와 피벗 포인트를 배치하는 방법입니다.

휴리스틱 최적화 (Heuristic Optimization)
Steve Rabin과 Nathan R. Sturtevant의 "Game AI Pro - Pathfinding Architecture Optimizations"에서 다루는 주제 중 하나입니다.
이 설정은 멤버 Pathfinding.Graphs.Util.EuclideanEmbedding.mode에 해당합니다.

 

 

Batch Graph Updates

성능 향상을 위해 그래프 업데이트를 제한하고 일괄 처리합니다.

이 설정이 활성화되면 그래프 업데이트가 일괄 처리되어 덜 자주 실행됩니다(그래프 업데이트 일괄 처리 간격으로 지정됨).

경로 찾기 처리량에 긍정적인 영향을 미칠 수 있으며, 경로 찾기 스레드를 자주 중지시킬 필요가 없어지며, 그래프 업데이트당 오버헤드가 감소합니다. 그러나 그래프 업데이트가 요청되고 적용되기까지의 최소 지연시간이 필요하다면 사용하지 마십시오.

이 설정은 UpdateGraphs 메서드를 사용하여 요청된 그래프 업데이트에만 적용됩니다. AddWorkItem을 사용하여 요청된 그래프 업데이트에는 적용되지 않습니다.

어느 시점에서 그래프 업데이트를 즉시 적용하려면 FlushGraphUpdates를 호출할 수 있습니다.

Graph Updates를 확인하세요.
이 설정은 멤버 AstarPath.batchGraphUpdates에 해당합니다.

 

 

Update Interval
그래프 업데이트 간의 최소 초 단위 간격입니다.

batchGraphUpdates가 true인 경우, 이는 각 그래프 업데이트 배치 간의 최소 초 단위 간격을 정의합니다.

경로 찾기 처리량에 긍정적인 영향을 미칠 수 있으며, 경로 찾기 스레드를 자주 중지시킬 필요가 없어지며, 그래프 업데이트당 오버헤드가 감소합니다. 그러나 그래프 업데이트가 요청되고 적용되기까지의 최소 지연시간이 필요하다면 사용하지 마십시오.

이 설정은 UpdateGraphs 메서드를 사용하여 요청된 그래프 업데이트에만 적용됩니다. AddWorkItem을 사용하여 요청된 그래프 업데이트에는 적용되지 않습니다.

Graph Updates 를 확인하세요.
이 설정은 AstarPath.graphUpdateBatchingInterval 멤버에 해당합니다.

 

 

Scan on Awake

이 옵션이 true로 설정되면, 모든 그래프가 Awake 동안 스캔됩니다.

이 옵션을 비활성화하면, 직접 AstarPath.active.Scan()을 호출하여 경로 찾기를 활성화해야 합니다. 또는 파일에서 저장된 그래프를 로드할 수도 있습니다.

시작 캐시가 생성된 경우(그래프 저장 및 로드 참조), 항상 그래프를 스캔하는 대신 그것을 우선적으로 로드합니다.

이 옵션은 그래프를 비동기적으로 스캔하거나, 게임 시작 시 아직 생성되지 않은 절차적 세계가 있는 경우 유용할 수 있습니다.

Scan ScanAsync 참조
이 설정은 AstarPath.scanOnStartup 멤버에 해당합니다.

 

 

Debug

Path Logging
디버깅 메시지의 양을 설정합니다.

디버깅을 줄이면 성능이 약간 향상되거나 콘솔 스팸을 없앨 수 있습니다. 디버깅을 많이 사용하면 경로 찾기 스크립트가 무엇을 하는지에 대한 정보를 더 많이 얻을 수 있습니다. InGame 옵션은 최신 경로 로그를 게임 내 GUI를 통해 표시합니다.

이 설정은 AstarPath.logPathResults 멤버에 해당합니다.

 

Graph Coloring

씬뷰에서 노드를 그리는 데 사용할 모드를 설정합니다.

참고  
에디터에서만 관련이 있습니다.
Pathfinding.GraphDebugMode를 참조하십시오.
이 설정은 AstarPath.debugMode 멤버에 해당합니다.

 

 

Show Search Tree

이 옵션을 활성화하면 노드가 '부모'로 선을 그립니다.
이는 최신 경로의 탐색 트리를 표시합니다.

참고  
에디터에서만 관련이 있습니다.
이 설정은 AstarPath.showSearchTree 멤버에 해당합니다.

 

 

Show Unwalkable Nodes

통행 불가 노드를 표시하려면 이 옵션을 켜십시오.

참고  
에디터에서만 관련이 있습니다.
unwalkableNodeDebugSize를 참조하십시오.
이 설정은 AstarPath.showUnwalkableNodes 멤버에 해당합니다.

 

Colors   

여기에서 그래프를 시각화하기 위해 씬뷰에서 사용할 색상을 설정할 수 있습니다.

 

Tag Names

여기에서 모든 태그의 이름을 설정할 수 있습니다.

Working with tags 참조

 

 

Editor

Smooth Transitions 

드롭다운을 열고 닫을 때 애니메이션을 추가합니다.

이 설정은 Pathfinding.FadeArea.fancyEffects 멤버에 해당합니다.

 

 

Save & Load

이 섹션에서는 나중에 로드할 수 있도록 그래프를 파일로 저장하거나, 캐시된 시작 설정을 구성할 수 있습니다. 캐시된 시작 설정은 게임 시작 시 그래프를 계산할 때 발생하는 긴 계산 시간을 피하는 방법입니다.

자세한 내용은 이 페이지를 참조하십시오: Saving and Loading Graphs

 

 

About

이 섹션은 현재 버전과 문서에 대한 링크를 보여줍니다.

참고  
이 링크는 항상 최신 비베타 문서로 연결됩니다. 그러나 다운로드 페이지의 '이전 버전 보기' 버튼을 클릭하여 이전 버전 또는 베타 릴리스에 대한 문서를 찾을 수 있습니다: 
https://www.arongranberg.com/astar/download](https://www.arongranberg.com/astar/download

 

 

Show Graphs

Show Graphs
씬뷰에서 그래프를 시각화합니다(에디터 전용).

이 설정은 AstarPath.showNavGraphs 멤버에 해당합니다.

'유니티 에셋 > A* Pathfinding project pro' 카테고리의 다른 글

Architecture overview  (0) 2024.05.21
Graph Types  (0) 2024.05.21
Using navmeshes > Automatically generating a navmesh  (0) 2024.05.20
Using navmeshes > Creating a navmesh manually  (0) 2024.05.20
Using navmeshes  (0) 2024.05.20

+ Recent posts