폰(Pawn)이란?
폰은 움직이는 액터에 조종당하는 기능이 추가된 액터다. 자동차가 될 수도 비행기가 될 수도 인간이 될 수도 있다. 내가 설정한 입력 세팅을 폰의 함수와 Binding 했다면, 이를 폰의 움직임으로 활용해야 한다.
폰의 움직임
PawnMovementComponent의 AddMovementInput()를 사용하면 -1부터 1사이의 입력 값을 PawnMovementComponent에 전달해서 폰을 움직이게 만든다. 자동차에 비유하자면 PawnMovementComponent는 엔진이고 AddMovementInput()명령은 운전석의 인터페이스라 할 수 있다. 이 명령에 들어가는 Scale값은 액셀을 밟는 세기를 의미한다. AddMovementInput()에는 추가로 이동할 방향을 WorldDirection에 지정해야 한다. 핸들에 비유할 수 있는데, 월드 좌표계를 기준으로 하는 방향벡터데이터를 전달해줘야 한다. 이는 GetActorForwardVector() 를 사용해 가져올 수 있다.
AddMovementInput(GetActorForwardVector(), NewAxisValue);
캐릭터(Character)란?
언리얼 엔진에서는 인간형 폰을 좀 더 효과적으로 제작하기 위한 특수한 모델을 제공하는데 이를 캐릭터 (Character) 라고 한다. ACharacter의 선언을 보면 APawn 클래스를 상속받고 있고, Capsule, SKeletalMesh 컴포넌트를 사용하고 있음을 알 수 있다. (또한 움직임을 CharacterMovement라는 컴포넌트를 사용해 관리하고 있다.
캐릭터의 움직임 (폰과 다른 장점)
캐릭터모델은 폰모델과 다르게 CharacterMovement 컴포넌트를 사용한다. 이 컴포넌트는 FloatingPawnMovement에 비해 장점을 가지는데 중력을 반영한 움직임을 제공하고, 다양한 움직임을 설정할 수 있다. (걷기 , 기어가기, 날아가기, 수영) 또한 현재 움직임에 대한 더 많은 정보를 전달해주고 멀티 플레이 네트워크 환경에서 캐릭터들의 움직임을 자동으로 동기화해준다.
'UE4' 카테고리의 다른 글
[UE4] GTA 방식의 카메라 구현 (0) | 2022.10.05 |
---|---|
[UE4] 게임 실행 중 뷰포트에서 콘솔띄우기 (0) | 2022.09.30 |
[UE4] 코드로 에셋 적용시키기 (0) | 2022.09.30 |
[UE4] Animation Blueprint (0) | 2022.09.30 |
[UE4] PlayerInput값을 게임에 바로 전달하기 (0) | 2022.09.30 |