[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을 실행해야함


© 2023 Jinsoo Lee. All rights reserved.

Powered by Hydejack v9.1.6