UE4 플레이어 움직이기

sanghoon·2022년 5월 23일
0

플레이어를 원하는 방향으로 움직이고, idle/walk/run 애니메이션 적용


플레이어 이동

  • project settings에서 원하는 입력 설정
  • 캐릭터의 현재 회전방향을 알아오기 위해 controller에서 회전값 받아오기* -> get control rotation(FRotator** 반환)
  • Make Rotator를 통해 yaw각 계산
  • Get Forward Vector / Get Right Vector
  • 입력이 일어날 때마다 Add Movement Input
  • 자연스러운 움직임을 위해 self에서 use controller rotation을 false로
  • character movement componet > character movement(rotation settings) > orient rotation to movement를 true로

플레이어 애니메이션

  • 애니메이션 블렌드 스페이스에서 원하는 동작 간 블렌딩 설정
  • 이것을 사용하는 에니매이션 블루프린트 생성
  • BP의 anim graph에서 state machine 생성 후 output pose로 연결
  • state machine에서 원하는 상태 추가
  • 상태 내부에서 블렌드스페이스의 변수를 받아오기
  • event graph에서 변수에 들어가는 값 계산
    • initialize animation
      애니메이션 초기화 시 pawn owner 받아오기
    • update animation
      받아온 pawn owner로 변수에 들어갈 값 계산
  • 캐릭터 BP의 mesh 컴포넌트에서 해당 에니메이션 BP를 사용하는 것으로 지정

주석

* controller에서 회전값 받아오기
3인칭의 경우 회전 방향을 직접 얻어오는 것보다 컨트롤러에서 얻어오는 것이 더 적합하기 때문이다.
** FRotator
UE4에서 회전값을 나타내기 위한 구조체. Roll, Pitch, Yaw로 분할이 가능하다.

0개의 댓글