3D 게임 개발이 처음이어도 언리얼 블루프린트로 쉽게 배우는 3D 게임 개발 강의 4-3
AI를 배치하고 실행하기
현재 비헤이비어 트리는 Move To가 실행이 끝나야 다시 처음으로 Root로 돌아가서 반복 실행이 된다.
이 때 문제점이 AI가 캐릭터 위치에 도달 해야만, 랜덤한 위치에 도달 해야만 다시 반복이 된다는 것이다.(계속 안쫓아옴)
이를 해결하기 위해 태스크를 새로 생성하고 함수 오버라이드 - Receive TickAI를 생성한다.


AI MoveTo 노드를 연결한다.

AI MoveTo노드의 Pawn(움직일 폰)을 Controlled Pawn(조종당하는 폰), Destination에 블랙보드의 TargetPosition 값을 넣는다.

비헤이비어 트리에서 Task를 BTT_Move로 변경한다.

AI캐릭터 블루프린트의 이벤트 그래프에서 Get AIController를 생성하고 Run BehaviorTree 노드를 연결한다.

플레이어 컨트롤러가 연결되어 있지 않은 캐릭터들은 전부 AI 컨트롤러가 연결되어 있는것이다.(Pawn도 마찬가지)
AI캐릭터를 배치한 후 실행을 해보면 시야안에 있을 시 플레이어의 방향으로 오긴 하지만 한번 온 후 작동하지 않는다.
이는 BTT_Move에 멈추는 명령을 넣지 않아서 그렇기 때문에 Finish Execute 노드를 연결하여 Task의 완료 여부를 판단한다.

이제 AI의 시야에 들어가면 잘 따라오지만 벗어나면 제자리에서 빙글빙글 도는데 이는 비헤이비어 트리의 서비스에서 랜덤 위치값을 넣어주는 로직을 Tick에 넣었기 때문이다.
서비스 노드에서 TickAI에 연결된 노드들을 ReceiveActivationAI으로 옮겨주면 거리가 100미만일 때 랜덤한 위치로 이동한다.

'3D 게임 개발이 처음이어도 언리얼 블루프린트로 쉽게 배우는 3D 게임' 카테고리의 다른 글
| 본 캠프 2일차 (충돌 검출 방법 알아보기, 이벤트 디스패처) (0) | 2025.08.05 |
|---|---|
| 본 캠프 1일차 (AI를 개선하고 많이 배치해보기) (0) | 2025.08.04 |
| 본 캠프 1일차 (AI에 규칙을 더 추가하기, 비헤이비어 트리의 특성) (0) | 2025.08.04 |
| 본 캠프 1일차 (BehaviorTree에 따른 AI캐릭터의 구성, 내비게이션 시스템) (0) | 2025.08.04 |
| 10일차 250725 (강의 1-2, 1-3, 1-4) (0) | 2025.07.30 |