이전 Patrol1, Patrol2 두 지점을 지정하여 적이 배회하도록 만들었으나 이번에는 무작위 배회로 대체할 것이다.
커스텀 태스크으로 배회 지점 식별
배회할 다음 지점을 저장할 BB_EnemyBlackboard에 키를 만든다.
기존의 PatrolPoint 키와는 다르게 목적지는 게임내 Actor가 아닌 벡터좌표로 표시된다.
그 다음 적이 배회해야 하는 곳을 결정하는 태스크를 만든다.
1. BT_EnemyBehavior트리를 연다.
2. Blackboard탭을 클릭한다.
3. 새키 + 버튼을 클릭하고 벡터를 키타입으로 설정후 이름을 WanderPoint로 변경한다.
4. 저장후, BehaviorTree로 돌아간다.
5. 툴바에서 새태스크를 클릭하고 BTTask_BlueprintBase를 선택하고 저장시 BTTask_FindWanderPoint로 이름을 변경한다. 에디터로 바뀐다.
6. ClassDefaults의 디테일 메뉴에서 NodeName을 FindWanderPoint로 설정한다.
6. 변수+를 클릭하고 이름은 WanderKey 타입은 Blackboard Key Selector로 변경한다. 인스턴스편집기능을 켠
7. 내 블루프린트 함수위 Overrider 드롭다운을 열어 Receive Execute를 선택해 이벤트를 추가한다.
8. 흰색출력핀을 끌어 Set blackboard Value as Vector을 추가하고 그 출력핀을 끌어 Finish Execute를 추가하고 Success를 체크한다.
9 SetBlackboardValue노드의 Key입력를 끌어 Get WanderKey를 추가한다. Value를 끌어 GetRandomReachablePointInRadius를 추가하고 Radius를 10000으로 설정한다.
10. Origin파라미터를 끌어 Make Vecotr노드를 추가한다.
11. 컴파일후 저장한다.
12. 여기서 만든 Task를 BT_EnemyBehavior트리에서 사용하여 WanderPoint로 이동시킬 수 있다.
'블루프린팅 > 10. AI적' 카테고리의 다른 글
[10.AI적업그레이드] 마지막 조정및 테스트 (0) | 2023.06.11 |
---|---|
[10.AI적업그레이드] 비헤이비어 트리에 배회 추가 (0) | 2023.06.11 |
[10.AI적업그레이드] 더 많은 적을 스폰하기 (0) | 2023.06.11 |
[10.AI적업그레이드] 적을 파괴할 수 있게 하기 (2) | 2023.06.11 |
[10.AI적업그레이드] 노이즈 이벤트 디버깅 (0) | 2023.06.11 |