[Unreal] 11.AI_Attack
본 문서는 어소트락 언리얼엔진 게임프로그래머 양성과정의 강의를 토대로 필기한 내용입니다
AI
BTTask_TraceTarget
- 이전 방법으로는 Node가 끝나지 않음
- TraceTarget이 완료되어 공격 범위 안에 들어오게되면 Node를 중단한 후 Attack Node를 실행해야함
BTTask_Attack
- 로직
- [TraceTarget] - [Attack] - [AttackEnd] - [RotationAtTarget] 의 로직을 따름
TickTask함수 안에서 실시간으로 타겟을 잡고있는지 아닌지 확인 후 타겟을 잡으면 Idle 상태로 변경OnTaskFinished- 타겟이 사라졌을 경우 Idle 상태로 돌아간다
- AI와 Target과의 거리를 체크하여 AI의 공격거리를 초과할 경우 Task를 종료시킨다
- Task가 종료되었을때
- 블랙보드 컴포넌트
- AI 컨트롤러마다 따로 생성해야 한다
- 몬스터간의 공유를 허용하지 않음
- 인스턴스 동기화 value check를 허용하면 static 멤버변수처럼 공유하여 사용
스폰
- 스폰포인트를 Actor 컴포넌트로 만들고
스폰 클래스와스폰 타임등을 멤버변수로 갖게 설계 스폰 타임스폰 누적 타임
Patrol
Wait태스크 노드가야할 위치들을 블랙보드에 넣어두고 이동할 위치로 움직이게 함
- TraceTarget의 경우 타겟을 잃어버리면 TraceTarget을 종료시켜야함
- Patrol의 경우 타겟을 찾으면 PatrolWait을 종료시키고 Patrol을 실행해야함