3인칭 캐릭터 액터 카메라 처리

1000·2021년 5월 16일
0

1. Character Actor

Character 액터는 Pawn을 상속받는 액터입니다.
Pawn은 컨트롤러에 빙의될 수 있는 액터이고,
이를 상속받은 캐릭터 액터 또한 컨트롤러에 빙의될 수 있습니다.

캐릭터 액터는 Pawn에 캡슐 컴포넌트를 Root로 하여,
Arrow Component, Skeletal Mesh Component, Character Movement Component가 포함되어 있습니다.

Arrow Component와 Skeletal Mesh Component는 Scene Component입니다.
Character Movement Component는 Actor Component 입니다.

Actor Component는 Component의 본질적인 개념으로, 기능만 제공하는 컴포넌트입니다.
Scene Component는 Actor Component를 상속 받아 Transform 정보가 추가된 것입니다.
따라서 모든 컴포넌트는 Actor Component에서 비롯됩니다.

Root 컴포넌트로 지정된 캡슐 컴포넌트가 액터의 이동과 충돌처리에 기반이 됩니다.
Arrow 컴포넌트는 캐릭터 액터가 보는 방향 표시를 위해 추가된 컴포넌트 입니다.

캐릭터 무브먼트 컴포넌트는 캐릭터의 움직임을 담당하며, 네트워크 동기화 기능도 구현되어 있습니다.

2. 카메라 처리를 위한 컴포넌트 추가

캐릭터 액터를 따라다니는 3인칭 카메라 처리를 위해,
Spring Arm Component와 Camera Component를 추가합니다.

스프링암 컴포넌트는 Root 컴포넌트인 캡슐 컴포넌트 자식으로 있어야 하며,
카메라 컴포넌트는 스프링암 컴포넌트 위치에 영향을 받아야 하기 때문에
스프링암 컴포넌트의 자식으로 있어야합니다.

스프링암 컴포넌트는 기본적으로 특정 위치(액터의 로컬 좌표)에 있고
충돌이 있을 때 별도의 처리를 할 수 있으며, 충돌이 없어지면 다시 원래 좌표로 돌아오는 기능을 합니다.

3. 마우스 입력에 따라 카메라 회전 처리

마우스 입력을 받았을 때, 회전 값을 해당 폰에 빙의한 컨트롤러에 저장 시킵니다.
그리고 이 폰의 컴포넌트들은 컨트롤러에 접근해 저장된 회전값으로 캐릭터의 회전 처리나, 카메라 회전 처리를 진행합니다.

이때 스프링암 컴포넌트에서 Use Pawn Control Rotation을 체크해줍니다.

이렇게 셋팅하면 마우스 움직임에 따라 카메라가 상하좌우 움직이게 됩니다.
이때 카메라 회전에 따라 메시도 회전하게 되는데, 이를 원하지 않으면 캐릭터 액터의 Pawn 메뉴에서 Use Controller Rotation Yaw 체크를 해제해주면 됩니다.

profile
Game Programming

0개의 댓글