기초반 강의

기초반 2강 / 캐릭터 만들기, 움직여보기

jh009 2026. 6. 16. 17:50

GameMode 만들기

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

 

WindowWorld Settings

GameMode Override → BP_GameMode 변경

Default Pawn Class →  BP_PlayerCharacter 변경

 

Default Pawn Class = 게임 시작하면 자동으로 누구한테 빙의시킬지 정하는 것

BP_PlayerCharacter를 넣어야 PIE 시 캐릭터 조종가능


3인칭 카메라 추가 / SpringArm + Camera

PlayerCharacter.h

변수 선언

 

PlayerCharacter.cpp 

상단 include 추가

생성자에 컴포넌트 만들기

 

컴포넌트 트리에 SpringArmComponentCameraComponent 가 추가가 된 모습

 

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