본문 바로가기

유니티

[Behavior Designer] 08 . 디버깅

[디버깅]

[디버깅]

=>BT가 실행중일때 Task는 회색 (실행 안됨) / 녹색 (실행중) 사이에서 색상이 변경되는 것을 볼 수 있다.

Task가 실행후 Success를 반환한다면 체크를 , Failure를 반환한다면 x가 표시된다.

 

=>작업의 실행 도중 인스펙터 내에서 변경이 가능하고 실시간으로 게임에 반영된다.

 

[중단점]

=>Task 우클릭 - Set Breakpoint는 해당 Task 에 중단점을 실행한다 . 해당 Task에 들어섰을때 유니티를 일시 정지한다.

특정 작업이 언제 실행되는지 알 수 있다.

 

 

[감시변수]

=>Inspector에서 변수 옆 돋보기를 누른다면 , 그래프 내에서 변수의 변화를 캐치 할 수 있다.

 

[작업 비활성화]

=>특정 Task에만 집중하고자 할 때 Task 상단 노란 버튼을 놀러 비활성화가 가능하다.

비활성화 된 작업은 실행되지 않고 즉시 성공을 반환하며, 어두운 색으로 표시된다.

 

[콘솔 로그]

=>Log Task Changes를 체크하면 Task의 상태 변화마다 콘솔에 출력한다.다음과 같은 로그가 출력된다.

GameObject - Behavior: Push task Sequence (index 0) at stack index 0
GameObject - Behavior: Push task Wait (index 1) at stack index 0
GameObject - Behavior: Pop task Wait (index 1) at stack index 0 with status Success
GameObject - Behavior: Push task Wait (index 2) at stack index 0
GameObject - Behavior: Pop task Wait (index 2) at stack index 0 with status Success
GameObject - Behavior: Pop task Sequence (index 0) at stack index 0 with status Success
Disabling GameObject - Behavior

//해석하자면
{game object name } - {behavior name}: {task change} {task type} (index {task index}) 
at stack index {stack index} {optional status}

순으로 출력된다

 

  • {game object name} 비헤이비어 트리가 연결된 game object 이름입니다.
  • {behavior name} behavior tree의 이름입니다.
  • {task change} 태스크의 새로운 상태를 나타냅니다. 예를 들어 작업이 실행되기 시작하면 스택에 푸시되고 실행이    완료되면 팝됩니다.
  • {task type} 작업의 클래스 유형입니다.
  • {task index} depth first search (깊이 우선 탐색)에서 task의 인덱스 입니다.
  • {stack index} 작업이 푸시되는 스택의 인덱스입니다. 병렬 노드가 있는 경우 여러 스택을 사용하게 됩니다.
  • {optional status} 특정 변경에 대한 추가 상태입니다. 팝 작업은 작업 상태를 출력합니다.