4. 디버깅 모드에서 Perception 박스와 정보 보기
Project Setting을 연후 Debug Mode에서 Enable을 선택
'Enter' 키 왼쪽에 ' 를 누르면 디버깅 모드로 실행 perception 박스와 다양한 정보가 보인다
5. 따라오기 개선
지금은 따라오기는 하지만 디텍팅된 순간의 위치로 가고 업데이트가 안됨
Observer aborts를 Both로 변경
새로운 Task를 만들고 이름은 ChasePlayer로 한다.
MoveTo를 ChasePlayer로 교체
추적시 부드러운 회전을 위해 Cooldawn Decorator를 추가
NPC캐릭터 Character Movement에 Use ControllerDesired Rotation 체크
실행해 보면 보다 부드럽게 다가오는 AI 캐릭터를 볼수있습니다.
이번에는 순찰하는 기능을 만들어 보겠습니다.
5. 경로 탐색
기존의 Squence를 제거하여 옆으로 옮김
NPC에 새로운 변수추가
경로배치용 Actor를 만든다
PatrolPath에 Array 변수를 선언(눈모양을 키고) Show 3D Widget를 선택
화면에 올려놓은후 Details / Path Points 에서 원하는 만큼 포인트 추가하여 배치
PatrolPathVector와 PatrolPahIndex 변수추가
BTTask_FindPathPoint 만들기
새로운 Task를 만들어 변수를 2개추가(vector, index)
위에 추가한 변수로 PathPoint 를 찾는기능을 만든다
BTTask_IncrismentPathIndex 만들기
새로운 변수 BB_PahtIndex 추가
위치에 도착하면 PathIndex를 증가시키는 기능
완성한 BehaviorTree
각Task Variable Type을 설정(Vector와 Index에 맞게)
레벨에 배치된 NPC에 Patrol Path를 적용
지정해 놓은 PathPoint 순서대로 이동하는 NPC
6.반복해서 정찰하는 기능
PathLooping을 추가
Selector를 중간에 추가
BTTask_IncrismentPathIndex에 false값에 Finish Excute를 추가(Sucess는 체크안함)
새로운 Task를 추가(BTTask_LoopPath)하고 두가지 변수선언
Tree에 추가해준다
세부값도 적용
NPC_AI RunBehavior Tree 뒷분에 내용추가, MakeLiteralName에 Blackboard의 PathLooping을 넣는다.
실행하면 반복해서 순찰하는 NPC를 볼수있다.
7.왕복하며 순찰하는 기능
이번에는 지정한 포인트순서로 순찰한뒤 반대로 거슬러 오르며 순찰하는기능을 만들어 보겠습니다.
복사를 해서 새로운 Task를 만든다.
BTTask_DecrismentPathIndex를 추가
내용작성
Blackboard에 Direction 변수 추가
BTTask_IncrismentPathIndex 도 고쳐준다.
변수내용을 선택
NPC_AI에 Direction추가
Is Looping을 해제
댓글