오늘은 기존 레벨에서 사용하던 캐릭터의 블루프린터를 복제하여 새 캐릭터를 생성하고, 플레이어 입력이 실제 캐릭터의 이동과 시점 회전, 점프로 연결되는 과정을 학습하였다.
먼저 언리얼 엔진 5의 Enhanced Input 시스템을 확인하였다. Input Mapping Context(IMC_Default)는 실제 입력 장치와 Input Action을 연결하는 역할을 하며, Input Action(IA)은 입력 동작 자체를 정의하는 에셋이다. 주요 Input Action으로는 이동을 담당하는 IA_Move, 시점 회전을 담당하는 IA_Look, 점프를 담당하는 IA_Jump가 있었다.

위 사진의 IMC_Default를 통해 이동 입력 매핑도 확인하였다. W, A, S, D 키는 각각 전진, 좌측 이동, 후진, 우측 이동에 사용되며, Enhanced Input에서는 Swizzle Input Axis Values와 Negate Modifier를 사용하여 입력값을 이동 벡터(X, Y) 형태로 변환한다는 점을 알 수 있었다.

또한 캐릭터가 입력을 사용할 수 있도록 Add Mapping Context를 통해 IMC_Default를 등록하는 과정도 확인하였다. 이를 통해 단순히 Input Action을 생성하는 것만으로는 입력이 동작하지 않으며, Input Mapping Context를 플레이어에게 등록해야 실제 입력이 가능하다는 점을 이해할 수 있었다.



블루프린트에서는 Camera Input, Movement Input과 Jump Input의 동작 구조를 확인하였다. Camera Input은 마우스 입력을 받아 플레이어의 시점을 회전시키는 기능으로, Add Controller Yaw Input과 Add Controller Pitch Input을 통해 좌우 및 상하 회전을 처리하였다. Movement Input은 키보드 입력을 받아 캐릭터를 이동시키는 기능으로, 현재 컨트롤러가 바라보는 방향을 기준으로 Forward Vector와 Right Vector를 계산한 뒤 Add Movement Input을 통해 실제 이동을 수행하였다. Jump Input은 Space Bar 입력이 IA_Jump를 통해 전달되며, 최종적으로 Jump 함수를 호출하여 캐릭터가 점프하는 구조였다.

마지막으로 GameMode의 Default Pawn Class를 기존 'BP_ThirdPersonCharacter'에서 새로 만든 'MyCharacter'로 변경하였다. 이를 통해 게임 시작 시 플레이어가 조종할 캐릭터를 지정할 수 있으며, Default Pawn Class에 설정된 캐릭터가 생성되고 PlayerController에 의해 조종된다는 점을 알 수 있었다.
오늘 배운 내용의 전체 흐름을 순서대로 정리했다.
게임 시작
↓
GameMode
↓
MyCharacter 생성
↓
PlayerController Possess
↓
Add Mapping Context(IMC_Default)
↓
입력 활성화
↓
IA_Move / IA_Look / IA_Jump
↓
블루프린트 로직 실행
↓
이동 / 시점 회전 / 점프
단순히 캐릭터를 움직이는 기능을 구현하는 실습이었지만, 실제로는 Input Mapping, Input Action, 블루프린트, GameMode 등 여러 시스템이 연결되어 동작한다는 점이 인상 깊었다. 평소에는 당연하게 생각했던 이동과 점프 기능도 생각보다 복잡한 구조를 통해 구현된다는 것을 알 수 있었다. 앞으로는 단순히 기능을 사용하는 것에 그치지 않고, 각 노드와 시스템이 왜 필요한지 이해하며 학습해야겠다고 생각했다.
'언리얼 엔진 > TIL' 카테고리의 다른 글
| TIL - 베이스캠프 8일차 (0) | 2026.06.17 |
|---|---|
| TIL - 베이스캠프 7일차 (0) | 2026.06.16 |
| TIL - 베이스캠프 4일차 (0) | 2026.06.11 |
| TIL - 베이스캠프 3일차 (0) | 2026.06.10 |
| TIL - 베이스캠프 2일차 (0) | 2026.06.09 |