플레이어가 느끼는 첫 번째 재미
게임에서 플레이어가 가장 먼저 느끼는 것은 그래픽보다 움직임입니다. 캐릭터가 답답하게 움직이면 좋은 레벨도 불편하게 느껴집니다. 반대로 캐릭터가 자연스럽게 움직이고 카메라가 보기 편하면, 단순한 테스트 스테이지도 훨씬 게임처럼 느껴집니다.
이번 장에서는 Third Person 템플릿에 들어 있는 플레이어 캐릭터를 열어 봅니다. 새 기능을 많이 만들기보다, 이미 만들어진 구조를 이해하고 값을 조금씩 바꾸며 조작감을 확인하는 것이 목표입니다.
작업 흐름은 간단합니다.
플레이어를 구성하는 기본 역할을 이해합니다.
Third Person 캐릭터 블루프린트의 컴포넌트를 살펴봅니다.
이동 속도와 점프 값을 조절합니다.
카메라 거리와 회전 방식을 바꿔 봅니다.
Play in Editor에서 직접 테스트합니다.
실수해도 괜찮습니다. 값을 바꾸기 전 현재 값을 메모하거나 블루프린트를 복제해 두면 언제든 되돌릴 수 있습니다. 다만 복제본을 수정했다면, 실제 플레이에서 그 복제본을 사용하도록 GameMode 설정도 함께 확인해야 합니다. 이 부분은 뒤에서 다시 짚겠습니다.
AI 생성 이미지
Pawn, Character, Player Controller 이해하기
플레이어 조작을 이해하려면 세 가지 용어를 먼저 구분해야 합니다.
Pawn은 플레이어 또는 AI가 조종할 수 있는 대상입니다. 자동차, 비행기, 드론, 캐릭터처럼 "누군가가 조작하는 물체"가 Pawn이 될 수 있습니다.
Character는 Pawn의 한 종류입니다. 사람처럼 걷고, 뛰고, 점프하는 캐릭터를 만들기 좋게 미리 기능이 들어 있습니다. Third Person 템플릿의 주인공은 Character입니다. 그래서 걷기, 점프, 충돌 같은 기본 기능을 비교적 쉽게 다룰 수 있습니다.
Player Controller는 플레이어의 입력과 시점 제어를 담당하는 관리자입니다. 쉽게 말해 키보드, 마우스, 게임패드 조작을 "게임 속 캐릭터의 행동"으로 이어 주는 중간 역할을 합니다. 실제 블루프린트에서는 입력 이벤트가 Character 안에 만들어져 있을 수도 있지만, 큰 구조로 보면 플레이어의 조작은 Controller가 소유한 Pawn 또는 Character에 적용된다고 이해하면 됩니다.
정리하면 다음과 같습니다.
| 구분 | 역할 | 쉬운 비유 |
|---|---|---|
| Pawn | 조종될 수 있는 대상 | 탈것 또는 조종 대상 |
| Character | 걷고 점프하는 데 특화된 Pawn | 플레이어 캐릭터 몸체 |
| Player Controller | 입력과 시점 제어를 담당 | 조종기 또는 운전자의 손 |
이번 장에서는 Player Controller를 깊게 수정하지는 않습니다. 다음 장에서 Enhanced Input을 다룰 때 입력 연결을 더 자세히 살펴볼 것입니다. 지금은 "플레이어가 누른 키와 마우스 움직임이 Controller와 입력 설정을 거쳐 Character의 움직임으로 이어진다" 정도로 이해하면 충분합니다.
Third Person 캐릭터 블루프린트 열기
이제 실제 에디터에서 캐릭터 구조를 확인해 보겠습니다.
Content Browser 또는 Content Drawer를 엽니다. UE5 Third Person 템플릿을 기준으로 보통 다음 위치에 캐릭터 블루프린트가 있습니다.
Content > ThirdPerson > Blueprints > BP_ThirdPersonCharacter
버전에 따라 이름이나 폴더가 약간 다를 수 있습니다. ThirdPersonCharacter 또는 BP_ThirdPersonCharacter처럼 보이는 파일을 찾으면 됩니다. 검색창에 ThirdPersonCharacter를 입력해 찾는 방법도 좋습니다.
열기 전에 안전하게 작업하려면 파일을 복제해도 좋습니다.
BP_ThirdPersonCharacter를 선택합니다.마우스 오른쪽 버튼을 누릅니다.
Duplicate를 선택합니다.
이름을
BP_PlayerCharacter_Test처럼 바꿉니다.
이 책에서는 설명을 쉽게 하기 위해 기존 캐릭터 블루프린트를 기준으로 말하겠습니다. 복제본으로 실습한다면, 나중에 GameMode에서 기본 Pawn을 복제본으로 바꿔야 실제 플레이에 적용됩니다. 지금은 구조 이해가 목적이므로 원본을 열어 값을 확인하는 것만으로도 충분합니다.
블루프린트를 열면 왼쪽에 Components 패널이 보입니다. 여기에서 캐릭터를 이루는 부품을 확인할 수 있습니다.
Capsule, Mesh, Camera Boom, Camera 살펴보기
Third Person 캐릭터에는 여러 컴포넌트가 들어 있습니다. 컴포넌트는 Actor나 Character를 구성하는 부품입니다.
먼저 Capsule Component를 봅니다. 캡슐은 알약처럼 둥근 원통 모양의 충돌 영역입니다. 플레이어 캐릭터가 벽을 통과하지 않고, 바닥 위에 서 있고, 아이템과 부딪힐 수 있는 기준이 됩니다. 실제 눈에 보이는 몸보다 게임 속 충돌 판단이 더 중요할 때가 많기 때문에, 언리얼은 캐릭터 충돌을 단순한 캡슐 형태로 처리합니다.
다음은 Mesh입니다. Mesh는 화면에 보이는 캐릭터 모델입니다. 캡슐이 "충돌용 몸"이라면, Mesh는 "보이는 몸"입니다. Mesh가 조금 움직이거나 회전해도 충돌 기준은 보통 Capsule이 담당합니다. 그래서 캐릭터가 벽에 걸리는 느낌이 이상하면 먼저 Capsule을 보고, 캐릭터가 화면에서 이상하게 기울어져 보이면 Mesh를 확인하는 식으로 나눠 생각하면 쉽습니다.
그다음은 Camera Boom입니다. Camera Boom은 보통 Spring Arm 컴포넌트입니다. Spring Arm은 캐릭터와 카메라 사이의 거리와 위치를 잡아 주는 팔 같은 부품입니다. 캐릭터 뒤에 일정 거리로 카메라를 두고, 벽이 카메라와 캐릭터 사이에 끼면 카메라가 자동으로 가까워지는 식의 동작에도 쓰입니다.1
마지막으로 Follow Camera 또는 Camera가 있습니다. 실제로 플레이 화면을 보여 주는 카메라입니다. Third Person 템플릿에서는 대개 Camera가 Camera Boom의 자식으로 붙어 있습니다. 그래서 Camera Boom을 길게 하면 카메라가 멀어지고, 짧게 하면 카메라가 가까워집니다.
구조를 간단히 쓰면 다음과 같습니다.
BP_ThirdPersonCharacter
├─ Capsule Component : 충돌 기준
├─ Mesh : 눈에 보이는 캐릭터 모델
├─ Camera Boom : 카메라 거리와 회전의 기준
└─ Follow Camera : 실제 플레이 화면이 구조를 이해하면 카메라를 조절할 때 어디를 만져야 하는지 헷갈리지 않습니다. 캐릭터 모델을 바꾸고 싶으면 Mesh를 봅니다. 충돌 크기가 이상하면 Capsule을 봅니다. 카메라가 너무 가깝거나 멀면 Camera Boom을 봅니다.
이동 속도 조절하기
이제 캐릭터의 이동 속도를 바꿔 보겠습니다.
블루프린트 창의 Components 패널에서 CharacterMovement 또는 Character Movement를 선택합니다. 이 컴포넌트는 Character의 걷기, 점프, 낙하, 공중 조작 같은 움직임을 담당합니다.
Details Panel에서 Max Walk Speed를 찾습니다. 검색창에 Max Walk Speed를 입력하면 빠르게 찾을 수 있습니다.
기본값은 프로젝트 버전에 따라 다를 수 있지만, 보통 500 안팎입니다. 이 값은 캐릭터가 걷거나 달릴 때의 최대 속도입니다.
예를 들어 다음처럼 바꿔 볼 수 있습니다.
| 느낌 | Max Walk Speed 예시 |
|---|---|
| 느린 탐험 게임 | 300 |
| 기본 3인칭 액션 | 500 ~ 600 |
| 빠른 아케이드 게임 | 800 이상 |
처음에는 값을 크게 바꾸지 마세요. 500에서 650처럼 조금만 올려 보고 Play로 확인합니다. 너무 빠르면 캐릭터가 미끄러지는 느낌이 나거나, 좁은 발판에서 조작이 어려워질 수 있습니다.
값을 바꾼 뒤에는 블루프린트 상단의 Compile을 누르고 Save합니다. Compile은 블루프린트 변경 사항에 문제가 없는지 확인하고, 엔진이 그 결과를 사용할 수 있게 준비하는 과정입니다.
점프 값 조절하기
같은 Character Movement 컴포넌트에서 점프 값도 바꿀 수 있습니다.
Details Panel 검색창에 Jump Z Velocity를 입력합니다. 이 값은 점프할 때 위로 튀어 오르는 힘을 뜻합니다. Z는 위아래 축입니다. 값이 클수록 높이 뜁니다.
예시는 다음과 같습니다.
| 느낌 | Jump Z Velocity 예시 |
|---|---|
| 낮은 점프 | 300 ~ 400 |
| 기본 점프 | 500 ~ 700 |
| 과장된 플랫폼 점프 | 800 이상 |
점프를 높이면 재미있어 보이지만, 레벨 구조도 함께 맞춰야 합니다. 점프가 너무 높으면 벽이나 장애물을 쉽게 넘어가서 원래 의도한 길이 무너질 수 있습니다.
함께 볼 만한 값으로 Air Control이 있습니다. Air Control은 공중에서 좌우 방향을 얼마나 조절할 수 있는지 정합니다. 값이 낮으면 점프한 뒤 방향을 바꾸기 어렵고, 값이 높으면 공중에서도 원하는 방향으로 더 잘 움직입니다.
처음에는 다음처럼 테스트해 보세요.
Max Walk Speed를 600으로 설정합니다.Jump Z Velocity를 700으로 설정합니다.Air Control은 기본값에서 크게 바꾸지 않습니다.Compile, Save 후 Play를 누릅니다.
바닥, 벽, 장애물 주변을 뛰어다니며 느낌을 확인합니다.
중요한 것은 정답 값을 찾는 것이 아닙니다. "이 값을 바꾸면 조작감이 이렇게 달라진다"는 감각을 얻는 것입니다.
카메라 거리 바꾸기
이번에는 카메라를 조절해 보겠습니다. Components 패널에서 Camera Boom을 선택합니다.
Details Panel에서 Target Arm Length를 찾습니다. 이 값은 캐릭터와 카메라 사이의 거리입니다. 실제로는 Spring Arm의 길이를 조절하는 값이라고 생각하면 됩니다.
| 느낌 | Target Arm Length 예시 |
|---|---|
| 캐릭터에 가까운 시점 | 200 ~ 250 |
| 기본 3인칭 시점 | 300 ~ 400 |
| 넓게 보는 탐험 시점 | 500 이상 |
카메라가 너무 가까우면 캐릭터는 크게 보이지만 주변 상황을 보기 어렵습니다. 카메라가 너무 멀면 공간은 잘 보이지만 캐릭터 조작의 손맛이 약해질 수 있습니다.
이 책에서 만드는 작은 3D 수집 게임은 아이템 위치와 장애물을 봐야 하므로, 처음에는 350 ~ 450 정도가 무난합니다. 단, 레벨이 좁다면 더 짧게 줄이는 편이 좋습니다.
Camera Boom에는 Do Collision Test라는 옵션도 있습니다. 이 옵션이 켜져 있으면 카메라와 캐릭터 사이에 벽이 있을 때 카메라가 벽을 뚫고 보이지 않도록 자동으로 가까워질 수 있습니다. 초보자는 보통 켜 둔 상태가 안전합니다.
카메라 회전과 바라보는 방향 이해하기
Third Person 템플릿에서 카메라는 보통 마우스 움직임에 따라 캐릭터 주변을 회전합니다. 이때 중요한 설정이 몇 가지 있습니다.
첫째, Camera Boom의 Use Pawn Control Rotation입니다. 이 옵션이 켜져 있으면 Player Controller의 회전값을 Camera Boom이 따라갑니다. 쉽게 말해 마우스로 시점을 돌릴 때 카메라 붐이 함께 회전할 수 있습니다.
둘째, 캐릭터 본체의 회전 방식입니다. BP_ThirdPersonCharacter의 Class Defaults 또는 Character Movement 설정에서 다음과 같은 항목을 볼 수 있습니다.
Use Controller Rotation YawOrient Rotation to MovementRotation Rate
Use Controller Rotation Yaw는 Controller의 좌우 회전을 캐릭터 몸체가 그대로 따라갈지 정하는 옵션입니다. Orient Rotation to Movement는 캐릭터가 이동하는 방향을 바라보게 하는 옵션입니다. Rotation Rate는 캐릭터가 방향을 바꿀 때 얼마나 빠르게 몸을 돌릴지에 영향을 줍니다.
Third Person 템플릿에서는 보통 캐릭터가 카메라 방향을 무조건 따라보기보다, 이동 방향에 맞춰 몸을 돌리는 방식이 자연스럽습니다. 그래서 캐릭터는 이동 방향을 보고, 카메라는 플레이어가 자유롭게 돌려 보는 구성이 많이 쓰입니다.
처음에는 이 회전 관련 설정을 크게 바꾸지 않는 것이 좋습니다. 여러 옵션이 서로 영향을 주기 때문에, 익숙하지 않은 상태에서 한꺼번에 바꾸면 "왜 이렇게 도는지" 파악하기 어려워집니다. 대신 Camera Boom의 Target Arm Length와 Follow Camera의 Field Of View 정도만 조절해 보세요.
Field Of View는 카메라가 한 번에 볼 수 있는 시야각입니다. 값이 높으면 더 넓게 보이지만 화면 가장자리가 왜곡되어 실제보다 빠르게 움직이는 것처럼 느껴질 수 있습니다. 값이 낮으면 확대된 것처럼 보이지만 주변 정보가 줄어듭니다. 처음에는 기본값 근처에서 조금씩만 바꿔 보는 편이 좋습니다.
직접 테스트하며 불편함 찾기
이제 Play in Editor로 확인합니다. 에디터 상단의 Play 버튼을 누르고 캐릭터를 움직여 봅니다. 테스트할 때는 그냥 한 바퀴 돌아보는 것보다, 아래 항목을 하나씩 확인하는 편이 좋습니다.
캐릭터가 너무 느리거나 빠르지 않은가?
점프가 낮아서 장애물을 넘기 어렵지 않은가?
점프가 너무 높아 레벨을 쉽게 벗어나지 않는가?
카메라가 캐릭터와 너무 가까워 답답하지 않은가?
카메라가 너무 멀어 캐릭터 조작이 가볍게 느껴지지 않는가?
벽 근처에서 카메라가 이상하게 튀지 않는가?
아이템이나 목표 지점을 보기 편한가?
테스트할 때는 "멋진 값"보다 "불편한 순간"을 찾으세요. 조작감 개선은 불편함을 하나씩 줄이는 과정입니다.
예를 들어 캐릭터가 좁은 발판에서 자꾸 떨어진다면 속도를 조금 낮춥니다. 점프 후 방향 조절이 어렵다면 Air Control을 조금 올려 봅니다. 아이템이 화면 밖에 자주 사라진다면 카메라 거리를 늘리거나 시야각을 약간 넓힙니다.
값을 바꿀 때는 한 번에 하나씩만 바꾸는 것이 좋습니다. 속도, 점프, 카메라 거리를 동시에 바꾸면 어떤 값 때문에 좋아졌는지 알기 어렵습니다.
장르에 따라 달라지는 조작감
같은 Third Person 캐릭터라도 장르에 따라 좋은 설정은 달라집니다.
수집 게임은 주변을 편하게 둘러보고 아이템을 찾는 것이 중요합니다. 카메라는 약간 멀고 안정적인 편이 좋습니다. 이동 속도는 너무 빠르지 않아야 아이템을 지나치지 않습니다.
액션 게임은 반응이 중요합니다. 이동 속도와 회전 반응이 조금 더 빠를 수 있습니다. 대신 카메라가 벽에 자주 걸리면 전투가 불편해지므로 카메라 충돌과 거리를 자주 테스트해야 합니다.
플랫폼 게임은 점프가 핵심입니다. Jump Z Velocity, Air Control, 착지 위치를 확인하는 시간이 많이 필요합니다. 카메라는 캐릭터와 발판을 동시에 잘 보여 줘야 합니다.
탐험 게임은 시야가 중요합니다. 카메라를 조금 멀리 두고, 주변 구조가 잘 보이게 조정하는 편이 좋습니다.
처음 만드는 게임에서는 극단적인 설정을 피하세요. 기본값에서 조금씩 바꿔 가며 내 레벨에 맞는 값을 찾는 것이 가장 안전합니다.
자주 막히는 부분 확인
값을 바꿨는데 플레이에 적용되지 않습니다.
블루프린트에서 Compile과 Save를 했는지 확인합니다. 복제본을 수정했다면 현재 게임이 그 복제본 캐릭터를 사용하고 있는지도 확인해야 합니다. 이때는 GameMode의 Default Pawn Class가 어떤 블루프린트를 가리키는지 살펴보면 됩니다.
카메라가 캐릭터 몸 안으로 들어가는 것처럼 보입니다.
Camera Boom의 Target Arm Length가 너무 짧을 수 있습니다. Follow Camera의 위치를 직접 이상하게 옮겼는지도 확인합니다. 초보자는 Camera를 직접 멀리 옮기기보다 Camera Boom의 길이로 조절하는 편이 안전합니다.
캐릭터가 너무 미끄럽게 느껴집니다.
Max Walk Speed가 너무 높을 수 있습니다. 또한 방향 전환이나 감속 관련 값도 영향을 주지만, 처음에는 속도를 먼저 낮춰 보세요.
점프가 이상하게 높거나 낮습니다.
Jump Z Velocity를 확인합니다. 레벨의 벽과 발판 높이에 맞춰 점프 값을 정해야 합니다.
마우스를 움직여도 카메라가 원하는 대로 돌지 않습니다.
Camera Boom의 Use Pawn Control Rotation이 꺼져 있지 않은지 확인합니다. 입력 설정 자체가 연결되어 있지 않아도 카메라가 돌지 않을 수 있습니다. 입력 설정은 다음 장에서 Enhanced Input으로 더 자세히 살펴봅니다.
이번 장에서는 플레이어 캐릭터의 구조와 카메라 설정을 살펴봤습니다. 게임은 결국 플레이어가 움직이고 바라보는 방식에서 시작됩니다. 다음 장에서는 이 움직임이 어떤 입력 설정과 연결되어 있는지, Enhanced Input을 사용해 조작을 직접 구성하는 방법을 배웁니다.
참고
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.