먼저 몬스터 블루프린트로 들어가서 DistancePlayerChar라는 변수를 하나 만들어준다
이 때 기본값은 임의의 큰 값으로 초기화 해둔다.
그런 다음 캐릭터와 몬스터의 거리값의 차를 DistancePlayerChar로 저장하도록 변수에 연결해주고 그 값을 string으로 출력되도록 연결해보면 다음과 같이 출력된다
캐릭터를 향한 방향도 필요하기 때문에 방향 vector형 변수를 하나 추가한다.
캐릭터와 몬스터의 거리뿐만 아니라 방향도 필요하기 때문에 vector를 받아 온다 이 때 vector는 횡스크롤이기 때문에 Y축만 받아오면 된다.
이제 열거형 블루프린트를 하나 만들어준다
열거형 블루프린트 안의 변수는 다음과 같이 설정한다
몬스터 블루프린트에서 tick이벤트 자리에 새로운 이벤트로 SaveDisAndDir 이벤트를 만들어서 교체하고
tick이벤트는 다음과 같이 설정한다
변수에는 CurState를 선언하고 변수 종류는 아까 만든 열거형 변수인 Monster State로 설정한다
몬스터의 상태는 평소엔 Idle이다가 플레이어와의 거리가 500보다 작거나 같게 되면 상태가 FollowChar로 바뀌게 된다
몬스터와 캐릭터가 겹치게 하기 위해 몬스터의 콜리전은 다음과 같이 설정한다
(폰은 overlap 되도록 설정)
몬스터 블루프린트로 가서 Speed라는 float변수형을 하나 만들어주고 이벤트 그래프에 몬스터가 움직일 때 speed를 받아오도록 설정한다
그 다음 NewStateMachine에서 움직이는 애니메이션을 가져와 연결해준 뒤
몬스터의 속도가 0.5 이상일 때 움직이는 애니메이션을 실행하도록 설정해준다
마지막으로 몬스터가 회전하도록 다음과같이 설정해주면 잘 따라온다
'언리얼 개인 프로젝트 > 언리얼 블루프린트' 카테고리의 다른 글
언리얼 몬스터에 무기 장착하기 (0) | 2022.07.17 |
---|---|
언리얼 몬스터 공격 (0) | 2022.07.17 |
언리얼 몬스터 데미지 처리 (0) | 2022.07.17 |
언리얼 몬스터 추가 (0) | 2022.07.16 |
언리얼 공격 콜리전 추가 (0) | 2022.07.15 |