UE4 Chapter 3-2. 플레이어 캐릭터 : 캐릭터 이동, 회전

Date:     Updated:

카테고리:

태그:

인프런에 있는 황대희님의 언리얼 엔진4 3D 횡스크롤 게임 만들기 강의를 듣고 정리한 필기입니다. 😀
언리얼 엔진 공식 문서 https://docs.unrealengine.com/ko/index.html


Chapter 3. 플레이어 캐릭터

🔔 캐릭터 이동

Character는 이동할 수 있고 충돌 처리도 된다.

  • 입력 활성화 방법이 Actor와는 좀 다르다. 밑에 참고.

액터의 Vector 이동의 한계

이전 포스트처럼 단순히 액터가 트랜스폼 위치 Vector3 를 변경하면서 움직이게 되면 액터끼리의 충돌 처리가 되지 않는다 (액터는 기본적으로 static하고 움직이지 않는 것이라서 그런가?) 따라서 서로 충돌처리가 가능한 Character를 부모클래스로 클래스 블루프린팅을 하자


좌우 움직이기

블루프린트 추가

  • Character를 부모클래스로 로 하는 클래스 블루프린팅을 추가해주자.
    • 이름은 “MoveCharBP”
  • 블루프린트 창에서 큐브 컴포넌트를 추가해주었다.
  • 컴파일 후 이 블루프린트를 뷰포트에 드래그 앤 드롭하면 오브젝트로서 생성이 된다.

입력 축 추가

image

  • 이전 포스트에서 추가했던 LeftRight 입력 축 노드를 추가해준다.
    • 매 프레임마다 Axix Value로 0 or 1 or -1 을 리턴한다.
      • 아무 입력 X or D 입력 or A 입력

블루프린팅

AddMovementInput은 캐릭터같은 Pawn을 이동시키는 노드이다.

  • Input 타입인 AddMovementInput 노드를 추가해준다.
  • LeftRight의 Axix Value 핀과 AddMovementInput의 Scale Value 핀을 연결해준다.
  • AddMovementInput의 World Direction은 (0, 1, 0) 으로 해준다.
    • Y축(오른쪽 왼쪽)
  • 매 프레임 입력이 들어오는 순간동안 Y축 방향으로 -1 혹은 1 씩 움직이게 된다.
  • 입력(float)값을 Scale Value로 받아 이만큼의 크기(벡터 길이)로 현재 위치로부터 World Direction 벡터만큼 움직이게 된다.
    • 방향(벡터) X 크기(스칼라) = 이동할만큼을 나타내는 벡터

입력 활성화

캐릭터 같은 Pawn은 입력 활성화를 할 때 이전 포스트처럼 Enable Input을 추가하지 않는다.

image

이 블루프린트가 적용된 “MoveCharBP”의 디테일 패널로 가서 Pawn 컴포넌트를 찾은 뒤 Auto Possess PlayerPlayer 0으로 변경해준다.Player 0은 온라인이 아닌 로컬에서의 로컬 플레이어를 의미하는데, Player 0 폰으로 빙의(Possess) 되므로서 자동으로 Player 0 폰을 컨트롤하는데에 대한 입력이 활성화가 된다.

3인칭 카메라

  • 카메라를 따로 만들어주지 않으면 언리얼에서 자동으로 1인칭 카메라를 생성해준다.
    • 따라서 큐브의 시점을 보여주는 카메라가 생성된다.
      • 큐브의 눈으로 보는 듯한 1인칭 시점
  • 3인칭 시점으로 큐브를 따라다니며 비추는 카메라를 만들기 위해
    • 큐브의 블루프린트 창에서 카메라 컴포넌트를 추가해주었고 (컴포넌트로 추가가 된 것이므로 이제 큐브와 한몸이 되어 따라다니게 됨)
    • 카메라 위치를 큐브와 겹치지 않게 큐브로부터 거리를 좀 두게끔 배치해주었다. 큐브와 겹쳐있으면 큐브에 파묻혀버려서..
      • 카메라가 큐브의 뒤를 따라다니게 된다.


위아래도 움직이기

  • 이전 포스트에서 배웠듯이 편집 - 프로젝트 세팅 - 입력에 가서 W, S 키에 대한 입력 축(Axix Mapping)인 “Foward Backward”을 추가해주자.
    • image
  • AddMovementInput의 World Direction은 (1, 0, 0) 으로 해준다.
    • X축(앞 뒤)
  • 매 프레임 입력이 들어오는 순간동안 X축 방향으로 -1 혹은 1 씩 움직이게 된다.

image


🔔 캐릭터 회전

이동 방향에 따라 그에 맞게 캐릭터가 회전하게 하려면

  1. Character Movement (Rotation Settings) 컴포넌트에서 Orient Rotation to Move 를 체크해준다. 캐릭터가 이동하고 있는 방향쪽으로 자동으로 회전하게끔 한다.
    • image
  2. Pawn 컴포넌트에서 Use Controller Rotation Yaw을 체크 해제해준다. 1번에서 이동 방향에 맞게 회전하게끔 하더라도 여기에 체크가 되어 있으면 Pawn에서 회전을 막게 된다.
    • image


🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

UE4 Lesson 1 카테고리 내 다른 글 보러가기

댓글 남기기