GameMode 만들기
Content → Core 파일 생성 → Blueprint Class → Game Mode Base 선택 → 이름 설정 BP_GameMode

Window → World Settings
GameMode Override → BP_GameMode 변경
Default Pawn Class → BP_PlayerCharacter 변경
Default Pawn Class = 게임 시작하면 자동으로 누구한테 빙의시킬지 정하는 것
BP_PlayerCharacter를 넣어야 PIE 시 캐릭터 조종가능

3인칭 카메라 추가 / SpringArm + Camera
PlayerCharacter.h
변수 선언
PlayerCharacter.cpp
상단 include 추가
생성자에 컴포넌트 만들기


컴포넌트 트리에 SpringArmComponent 와 CameraComponent 가 추가가 된 모습

Asset Actions → Reload
해당 에셋 파일이 디스크에 저장된 최신 상태를 강제로 다시 불러오기
현재 에디터에서 보고 있는 상태를 최신화할 때 주로 사용

Build.cs에 EnhancedInput 모듈 추가
Enhanced Input은 별도 모듈이라 Build.cs에 의존성이 있어야 함
Build.cs 를 열어 "EnhancedInput" 이 들어 있는지 확인하고 없으면 직접 추가
Edit → Plugins 에서 Enhanced Input 플러그인이 켜져 있는지도 확인

Input 에셋 만들기 (IA + IMC)

Actions 서브폴더 안에 Input Action 만들기
Input Action(IA)이 3개 이상이면 서브폴더로 묶는 게 표준 (Lyra 스타일)
처음부터 Input/Actions/ 에 모아 두면 나중에 폴더 갈아엎을 일이 없음

| 에셋 이름 | Value Type | 용도 |
| IA_Move | Axis2D (Vector2D) | WASD 이동 |
| IA_Look | Axis2D (Vector2D) | 마우스 시점 |
| IA_Jump | Digital (bool) | 점프 |
IMC_PlayerInputMapping 키 매핑하기
IA_Move 매핑
| 키 | Modifier(들) | 결과값 |
| W | Swizzle Input Axis Values (YXZ) | (0, +1) |
| S | Swizzle (YXZ) + Negate | (0, -1) |
| A | Negate | (-1, 0) |
| D | (없음) | (+1, 0) |
IA_Look 매핑
- Negate(Y축만) : 마우스 상하반전
| 키 | Modifier | 결과값 |
| Mouse XY 2D-Axis | Negate(Y축만) | (마우스 X, 마우스 Y) |
IA_Jump 매핑
| 키 | Modifier | 결과값 |
| Space Bar | (없음) | true / false |
APlayerCharacter에 입력 연결
PlayerCharacter.h
변수/함수 선언 추가

PlayerCharacter.cpp
상단 include 추가

BeginPlay IMC 등록


SetupPlayerInputComponent 에서 IA 바인딩
ETriggerEvent : 언제 함수를 부를지 정함
Triggered : 값이 들어오는 동안 계속 호출 (이동/시점처럼 누르고 있는 동안 매 프레임 처리)
Started : 처음 눌리는 순간 1회만 호출 (점프처럼 단발성)
다른 옵션: Completed (뗌), Canceled (조건 불만족), Ongoing (조건 확인중).

입력 처리 함수 구현

빌드 후 BP에 Input 에셋 할당

PIE 테스트를 하면 잘 움직임
잘 안 될 때 체크리스트:
- IMC, IA 4개 다 BP에 할당돼 있나? (IA들은 /Game/Input/Actions/ 안에 있는 것 맞나?)
- IMC_PlayerInputMapping 의 IA_Move 매핑에 W/A/S/D Modifier (Swizzle/Negate) 정확한가?
- GameMode가 World Settings에 적용돼 있나?
번외
BP_PlayerCharacter → Use Contorller Rotation Yaw 체크해제

Character Movement → Orient Rotation to Movement 체크

캐릭터의 몸은 내가 가려는 방향(입력 방향)을 향하고, 카메라는 그와 별개로 자유롭게 주변을 관찰할 수 있게 함
= 카메라 시선과 캐릭터의 몸이 독립적으로 이동하게 됨
소울라이크 및 액션 RPG 에서 쓰인다고 함

'기초반 강의' 카테고리의 다른 글
| 기초반 3강 / 컨트롤러, 총기 구현 (0) | 2026.06.23 |
|---|---|
| 기초반 1강 / OT & 프로젝트 세팅 (0) | 2026.06.09 |