UDN
Search public documentation:
NavigationMeshPathDebuggingKR
English Translation
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
내비게이션 메시 패쓰 디버깅
문서 변경내역: Matt Tonks 작성
개요
패쓰 디버그 렌더링
- 붉은색 면들은 장벽 메쉬의 면들입니다(AI가 통과할 수 없는 면).
- 녹색의 면들은 도보 가능한 면들입니다(navmesh 자체의 일부).
- 다각형 사이의 경계선에 따라 있는 보라색 선은 다각형간의 연결을 나타냅니다. 인접한 2 개의 다각형 사이에 보라색 선이 없으면, AI들이 한쪽 다각형에서 다른 쪽 다각형으로 이동할 수 없다는 것을 의미합니다.
- 다른 선들은(예: 노란색 점선) 다른 가장자리 유형을 나타냅니다. 이 경우, 노란색 점선은 커버슬립(coverslip) 가장자리를 나타냅니다.
- bDrawEdgePolys - TRUE인 경우, 해당 가장자리의 중심에서 그 가장자리에 의해 연결된 2개의 다각형의 중심으로 선이 그려집니다. 이것은 어떤 다각형이 실제로 어떤 가장자리에 의해 연결되는지 디버깅하는 경우 유용합니다. 다음은 이 옵션을 선택했을 경우의 스크린샷입니다.
- bDrawPolyBounds - TRUE인 경우, 각 다각형의 계산된 경계를 나타내는 노란색 와이어 상자가 그려집니다. 다음은 이에 대한 스크린샷입니다.
bDebugConstraintsAndGoalEvals
[0515.02]Log: ------- PATH CONSTRAINT STATS -------- [0515.02]Log: Processed: 43 ThrownOut: 0 (0.00% thrown out) AddedPathCost: 0.00 (0.00% total) AddedHeuristic: 0.00 (0.00% total) - (NavMeshPath_MinDistBetweenSpecsOfType_0) [0515.02]Log: Processed: 43 ThrownOut: 0 (0.00% thrown out) AddedPathCost: 0.00 (0.00% total) AddedHeuristic: 175.00 (100.00% total) - (NavMeshPath_Toward_0) [0515.02]Log: -------------------------------------- [0515.02]Log: TotalThrownOut: 0 TotalAddedDirectCost: 0.00 TotalAddedHeuristicCost: 175.00 [0515.02]Log: ------- GOAL EVALUATOR STATS -------- [0515.02]Log: Threw Out 10 (out of 11 processed (90.91%)) (Responsible for 100.00% of all nodes thrown out) - NavMeshGoal_At_0 [0515.02]Log: ---------------------------------------이 출력 결과에서 많은 정보를 얻을 수 있습니다. 예를 들어, 모든 노드를 throw 시키는 올바르게 작동하지 않는 제약조건이 패쓰 제약조건 목록에 포함되어 있는 경우, 통계를 확인하여 그것이 잘못되게 반응하고 있다는 것을 확인할 수 있습니다. 이것은 또한 어떤 제약조건이 성능적 부담을 추가시키고 있는지에 대한 정보도 출력할 수 있어서 어떤 제약조건이 길찾기 등에 가장 큰 영향을 미치고 있는지 확인할 수 있습니다.
bUltraVerbosePathDebugging
- 빨간색 선 - 패쓰단계를 시도하였지만 거부된 것을 나타냅니다.
- 빨간색 텍스트 - 실패된 해당 가로지름(traversal)에 해당하는 로그 출력 행으로의 키입니다. 예를 들어 왜 AI가 통과할 수 없었는지 알고 싶은 가장자리에 C:21라는 텍스트를 볼 경우, 로그 창에서 C:21을 검색해 보면 그 이유를 알 수 있습니다. 로그 행에 대한 예제는 다음과 같습니다. [0061.15]Log: PATH_DEBUG_MESSAGE[C:21]: Edge does not support this entity (supports returned FALSE) Edge: FNavMeshEdgeBase (Len:30.00 EffecLen:30.00)
- 녹색 선 - 한 다각형에서 다른 다각형으로의 성공적인 가로지름(traversal)을 나타냅니다.
- 흰색 텍스트 - EvaluateGoal로의 실패된(종료되지 않은) 호출에 해당하는 로그 출력 행으로의 키입니다. 로그 행에 대한 예제는 다음과 같습니다. [0061.15]Log: Poly (P:16) (polyctr:X=13905.000 Y=-13110.000 Z=129.000) was just given status [EvaluateGoal returned 0] by NavMeshGoal_At_0
- DebugCoordinateSystem – SearchStart 시에 그려집니다.
[0132.83]Log: PATH_DEBUG_MESSAGE[C:22]: Edge does not support this entity (supports returned FALSE) Edge: FNavMeshCoverSlipEdge (Actor: CoverLink_8 RelItem: 0 MoveDir: -1)다음의 또 다른 스크린샷은 실행 중인 디버그 모드의 보다 넓은 뷰를 보여주고 있습니다. 이 모드에서는 보다 많은 다른 관련 정보도 또한 로그에 출력됩니다. 예를 들면, 각 패쓰 단계에서의 작업 집합의 크기 및 길찾기가 종료된 이유가 이에 해당합니다. 다음은 예제 출력의 일부입니다.
[0132.82]Log: Poly (P:108) (polyctr:X=12828.750 Y=-15367.500 Z=-127.000) was just given status [EvaluateGoal returned 0] by NavMeshGoal_SquadFormation_0 [0132.82]Log: PATH_DEBUG_MESSAGE[C:221]: Path constraint NavMeshPath_WithinTraversalDist_0 EvaluatePath rejected this edge! Edge: FNavMeshEdgeBase (Len:60.00 EffecLen:90.00) [0132.82]Log: PATH_DEBUG_MESSAGE[C:222]: Edge does not support this entity (supports returned FALSE) Edge: FNavMeshEdgeBase (Len:15.00 EffecLen:30.00) [0132.82]Log: PATH_DEBUG_MESSAGE[C:223]: Edge does not support this entity (supports returned FALSE) Edge: FNavMeshEdgeBase (Len:15.00 EffecLen:30.00) [0132.82]Log: +++Finished path step 108!, Openlist now has 2 nodes in it. [0132.82]Log: Poly (P:109) (polyctr:X=12105.000 Y=-13860.000 Z=127.750) was just given status [EvaluateGoal returned 0] by NavMeshGoal_SquadFormation_0 [0132.82]Log: PATH_DEBUG_MESSAGE[C:224]: Path constraint NavMeshPath_WithinTraversalDist_0 EvaluatePath rejected this edge! Edge: FNavMeshEdgeBase (Len:60.00 EffecLen:90.00) [0132.82]Log: PATH_DEBUG_MESSAGE[C:225]: Edge does not support this entity (supports returned FALSE) Edge: FNavMeshEdgeBase (Len:15.00 EffecLen:30.00) [0132.82]Log: +++Finished path step 109!, Openlist now has 1 nodes in it. [0132.82]Log: Poly (P:110) (polyctr:X=13800.000 Y=-14482.500 Z=-127.000) was just given status [EvaluateGoal returned 0] by NavMeshGoal_SquadFormation_0 [0132.82]Log: PATH_DEBUG_MESSAGE[C:226]: Path constraint NavMeshPath_WithinTraversalDist_0 EvaluatePath rejected this edge! Edge: FNavMeshEdgeBase (Len:60.00 EffecLen:120.00) [0132.83]Log: PATH_DEBUG_MESSAGE[C:227]: Edge does not support this entity (supports returned FALSE) Edge: FNavMeshEdgeBase (Len:15.00 EffecLen:30.00) [0132.83]Log: PATH_DEBUG_MESSAGE[C:228]: Path constraint NavMeshPath_WithinTraversalDist_0 EvaluatePath rejected this edge! Edge: FNavMeshEdgeBase (Len:60.00 EffecLen:120.00) [0132.83]Log: PATH_DEBUG_MESSAGE[C:229]: Path constraint NavMeshPath_WithinTraversalDist_0 EvaluatePath rejected this edge! Edge: FNavMeshEdgeBase (Len:75.00 EffecLen:105.00) [0132.83]Log: PATH_DEBUG_MESSAGE[C:230]: Edge does not support this entity (supports returned FALSE) Edge: FNavMeshCoverSlipEdge (Actor: CoverLink_48 RelItem: 0 MoveDir: -1) [0132.83]Log: +++Finished path step 110!, Openlist now has 0 nodes in it. [0132.83]Log: +++++++++ STOPPING PATH SEARCH -- Nodes on openlist: 0 Reason: Path finished, and DetermineFinalGoal returned TRUE.. search was a success!또한, 런타임 시 게임의 특정 AI에 이 디버그 모드를 손쉽게 활성화시킬 수 있는 빠른 도구가 제작되었습니다. __VerbosePathDebug__는 실행할 수 있는 콘솔 명령으로써 해당 플레이어가 쳐다보고 있는 곳에서부터 추적을 수행하고, 해당 패쓰에서의 모든 폰들에 대해 bUltraVerbosePathDebugging을 True로 설정합니다. 이 bool이 어떤 AI에 대해 선택되었을 경우, 해당 AI는 패쓰검색을 완료하고, 새로운 정보에 대한 방법을 만들기 위해 이전의 ultraverbose 디버그 정보는 지워지고, 해당 게임은 여러분께서 이러한 정보를 검토할 수 있도록 playersonly 모드로 전환됩니다. 한 개의 프레임에서 다중 패쓰검색이 발생하는 경우, 마지막에 발생한 것을 화면에서 보게된다는 것에 주의하십시오.