Unreal 20

06. 적 이동

DDing_h 2020. 7. 4. 23:15

가장 먼저 설정해야 할 것은

1. 적 블루프린트 만들기(스켈레톤 메시에서 불러오기)
2. 애니메이션 블루프린트 만든후 기본 동작 할 수 있게 구현하기

 

캐릭터와 방법은 동일 하기에 상세한 설명은 생략하려고 한다.

 

설정을 완료 해준뒤 적이 제대로 플레이어를 따라 움직이는지 확인 해 보려고 한다.

UpdateDistance라는 함수를 만들어주어 거리를 계산해 줄 것이며,
PlayerMonsterDistance라는 float 변수, MonsterDir이라는 Vector변수를 이용하여 계산을 할 것이다.

물론 적군을 만들어준 블루프린트에서 만들 것이다.

Update Distance라는 함수의 구현 내용이다.

플레이어캐릭터의 Location과 Actor(적군)Location를 빼준 뒤 벡터를 변환하여 만들어놓은 PlayerMonsterDistance와 MonsterDir에 저장하여 사용하는 방식이다.

 

그 뒤 메인인 이벤트 그래프로 가서 UpdateDistance를 실행할 수 있도록 한다.
Tick 이벤트에 실행시켜 주며 계산된 Distance가 500을 넘지 않을경우 적군이 이동하는 방식이다. 
서로의 거리(플레이어와 적군)가 500을 넘게 되면 적군은 따라오지 않는다.

 

그 뒤 실행을 하게 되면 좀비가 플레이어를 향해 움직이지만 움직임이 부자연스러운 걸 알 수 있는데,

적군이 바라보는 앞의 위치를 확인하고, OrientRotation to Movement가 체크가 되어있는지 확인해 주어야 한다.

 

OrientRotation to Movement의 위치는 블루프린트의 CharacterMovement에 있다.

올바른 적군 방향
로테이션 체크를 해주어야 회전을 이쁘게한다.

수정을 완료 했다면 플레이어를 향해 이쁜 방향으로 열심히 걸어올 것이다.

속도가 빠르다면 MovementInput의 Scale을 줄여주자

 

다음은 적군 공격에 대해 다루어 볼 예정이다.

'Unreal 20' 카테고리의 다른 글

08. 플레이어 공격  (0) 2020.07.06
07. 적 공격  (0) 2020.07.06
05. 캐릭터 이동  (2) 2020.06.29
04. 카메라 설정  (0) 2020.06.29
03. 애니메이션 작동  (0) 2020.06.29