언리얼/블루프린트

언리얼 AI Behavior Trees _4 대쉬 공격 스킬 추가

cothdico 2022. 7. 17. 14:31

 

 

 

 

이동 스킬은 캐릭터 BP에 만들고,  실행은  사용자의 조작과,  AI의 명령을 전부 받을 수 있도록 구현.

 


 AI 테스크 >

 

ai가 공격방법을 결정 할 때, 사용가능한 스킬중에 대쉬 스킬이 있다면, 먼저 사용하도록 해두었다.

 

ai 가 공격을 실행할 때, 기본 공격은 테스크에서 실행되지만 

 스킬공격은 타이머 사용에 따른 쿨타임과 시간에 따른 거리 이동을 해야 하기 때문에

해당 Pawn에게 스킬을 실행하라는 메세지를 보낸다.

 

추가로,  해당 테스크에서는 스킬의 종료 여부 블랙보드 값을 감시하고 테스크 종료할 수 있도록 만든다.

 

 


캐릭터 BP >

폰에서 구현한 이동스킬에 구현한 기능들은..

몽타주 재생 / 이동  / 데미지 / 쿨타임 타이머 작동 / 종료 판단 / AI컨트롤러에게 종료 전달 

 

이 중에서 이동에 관한 것만 보자면, 

처음에는 add impulse 기능으로 구현하려고 했지만

캐릭터가 툭 튀어나감과 동시에 카메라도 갑자기 순간 이동해서 플레이 느낌이 좋지 않았고, 

원하는 만큼 거리를 이동시키기가 힘들었다. 

 

그래서 Set Actor Loc 으로  캐릭터의 위치를 정해주는데, 그 값은  현재 위치와 이동할 위치를  시간에 따른 선형 보간으로 구현하였다.  결과적으로는 원하는 시간만큼 원하는 거리를 이동할 수 있다.

 

AI테스크에서 전부 구현하려했지만, 타이머와 타임라인 등을 사용할 수 없어 

테스크에서는 캐릭터의 현재 상태를 판단해서 다음 명령을 하는 용도로 사용해야겠다.