https://youtu.be/-t3PbGRazKg?list=PLNwKK6OwH7eW1n49TW6-FmiZhqRn97cRy

영상을 따라하며  AI 제작을 진행하였습니다. 포스팅은 복습용이므로 설명이 불충분한 부분은 영상으로 확인 바랍니다.

학습 방법 [접은 글]

더보기

영상을 토대로 학습하는데 있어 자막 자동 번역에 기능은 좋지만 학습하기에는 조금 부족한 부분이 있기 때문에 영상에서 사용하는 기능에 대한 개념, 기본 지식은 어느정도 알고 있어야 개념 설명 시 이해하기 쉽습니다. 언어를 알아 들을 수 있다면 더할 나위 없습니다.

 

전 한국어로 제작된 학습 자료를 통해 두, 세번 정도 간단한 AI를 만들어보고 진행하였습니다. 외 설명 시 이해가지 않는 부분은 구글링을 하였습니다. 불편함을 감수하고 이 강의를 선택한 이유는 시리즈 형태로 AI에 대한 전체적인 튜토리얼을 체계적이고 세심하게 다루고 있어서 입니다.

  1. 여러 단축키
  2. 팔로우 및 공격 AI (블루프린터로 구현)
  3. 애니메이션 시 LegIK 일시정지 방법
  4. 팔로우 및 공격 AI (비헤이어트리로 구현)
  5. 휘두르는 검 생성

많이 사용한 단축키

Ctrl + 스페이스 콘텐츠 드로우 호출
Alt + P 플레이
ESC 플레이 종료
블루프린터
정리할 항목 드래그 후 Q 선택된 노드 직선으로 나열하여 정리
애니메이션 타임라인에서
커브 추적
F

2. 팔로우 및 공격 AI (블루프린터로 구현)

AI 언리얼 제공 기능 사용

BeginPlay 시작 시 호출되는 이벤트로 경우에 따라서 호출이 늦어지는 경우가 있으므로 사용하지 않는 이벤트
커스텀 이벤트 생성 하여 언리얼에서 제공하는 AI Move To를 이용하여 구현

입력된 범위 안에 타겟이 들어올 시 이동 성공

 

공격 이벤트 생성

공격 실행 커스텀 이벤트 생성 (연결 되어있는 우측 완료 시, 중단 시는 무시하고 진행)

사용 할 애니메이션 시퀀스로 몽타주 생성 후 플레이 될 몽타주를 연결해 줍니다.

Attack 이벤트를 적절한 위치에 생성하여 연결하여 테스트

IK가 꼬이는 문제

몽타주 타임라인에서 커브 DisableLegIK를 추가 키 추가하여 0 - 1.0으로 수정하여 시간적 변형이 없게 설정합니다.
이후 테스트 시 몽타주 실행 중에만 IK가 적용되지 않고 재생 완료 후 IK가 적용되는 모습을 볼 수 있습니다.\

 

비헤이비어를 사용하여 구현

비헤이어트리 기본 설명은 생략합니다.

비헤이어트리로 기본 AI 구성 시 BP, BB, BT, AIC가 필요합니다.
AIC에 Event On Possess 이벤트를 이용해 BT를 호출 기본 BeginPlay 사용보다 이걸 사용합니다. (위 설명)

Delay 경우 Enemy가 생성되기도 전에 호출되기 때문에 유예를 주기 위함입니다.
이러하면 AI 컨트롤러의 세팅이 완료됩니다.

새 태스크를 만들 시 중요한 사항으로 붉은 박스 안 이벤트와 함수를 양끝에 오도록 해야합니다.

이후에는 구현된 AI를 나열하겠습니다.

 

어택 단계입니다.

Attack 입니다. On Attack End 호출은 Attack 애니메이션이 다 재생 될 때까지 기다려주기 위함입니다.

Attack 이벤트를 실행 후 종료 On Attack End 호출을 기다린 후 이벤트를 끝냅니다.

 

휘두르는 검 생성 단계입니다.

 

WieldSword입니다. 미리 세팅된 스태틱 메쉬를 설정해둔 소켓에 생성하는 이벤트입니다. (검 생성)
Rule 세팅과 올바른 Socket Name을 입력해줘야합니다.

생성한 WieldSword 태스크입니다. 검을 생성하는 태스크입니다.

검을 한번 생성한 후 이후 생성하지 않기 위한 생성한 데코레이터입니다.

 

타겟 포커스 부분입니다.

타겟을 포커스하는 이벤트입니다.

캐릭터 BP 무브먼트에서 이미지와 같이 세팅하여야 포커스가 올바르게 작동합니다.

좀 더 AI 처럼 만들기 위한 포커스를 초기화하는 이벤트입니다.

완성된 비헤이어트리입니다.

셀렉터로 검 생성 후 데코레이터가 생성된 검 검증 후 ChasePlayer 시퀀스가 실행됩니다. 

감사합니다.

+ Recent posts