I. 캐릭터 생성
1) 블루프린트 클래스
① 블루프린트 클래스 생성
② 부모 클래스 캐릭터 선택

2) 캐릭터 메시
① Skeletal Mesh Asset 선택
- 캐릭터 외형으로 사용할 스켈레탈 메시 지정

② 메시 방향 조정
- 메시가 화살표 컴포넌트 방향과 일치하도록 회전값 조정
- 캐릭터의 전진 방향과 메시 방향을 맞추기 위함
③ 메시 및 캡슐 크기 조정
- 메시 크기를 적절히 조절
- 캡슐 컴포넌트 크기에 맞게 위치 조정

캡슐 컴포넌트
- 캐릭터의 충돌(Collision)을 담당
- 이동 및 물리 판정의 기준이 됨
- 캡슐 절반 높이, 캡슐 반경 값을 조절하여 캐릭터 크기에 맞게 설정
II. 카메라 추가
1) 스프링 암(Spring Arm) 및 카메라(Camera) 추가
① 스프링 암 컴포넌트 추가
② 카메라 컴포넌트 추가
- 카메라 컴포넌트는 스프링 암 컴포넌트의 자식으로 추가해야 함
- 일반적으로 아래 사진과 같은 구조를 사용

2) 스프링 암 설정
① Target Arm Length 및 위치 조정
- 타깃 암 길이를 통해 캐릭터와 카메라 사이의 거리를 조절
- 스프링 암의 위치를 조정하여 카메라 높이를 변경 가능

②스프링 암(Spring Arm)의 역할
- 카메라를 캐릭터로부터 일정 거리만큼 떨어뜨려 배치
- 캐릭터를 따라 움직이는 3인칭(TPS) 시점을 구현
- 벽이나 장애물과 충돌 시 카메라를 자동으로 앞으로 당겨 시야를 확보
- 플레이어의 시점 회전을 카메라에 전달 가능
3) 카메라(Camera)
- 플레이어가 실제로 보게 되는 시점을 담당
- 스프링 암 끝에 배치되어 캐릭터를 뒤에서 바라보는 시점을 제공

4) 플레이어 자동 빙의 → Player 0 설정
- 게임 시작 시 PlayerController가 해당 캐릭터를 자동으로 소유(Possess)
- 별도의 Possess 로직 없이 바로 캐릭터를 조작할 수 있음

III. 이동 설정
1) 캐릭터 이동
① 입력 액션 및 입력 매핑 컨텍스트 생성
Input Action(IA) 생성
- 어떤 입력을 받을지 정의
IMC(Input Mapping Context) 생성
- 실제 입력 장치(키보드, 마우스 등)와 Input Action을 연결

② IA_Move 설정
Value Type → Axis 2D (Vector 2D)
- 이동 입력은 X축과 Y축 두 개의 값을 사용
- 전/후 이동과 좌/우 이동을 하나의 입력으로 처리 가능

③ IMC 설정
- WASD 키를 IA_Move에 매핑

| W | X = +1 |
| S | X = -1 (부정) |
| A | Y = -1 (스위즐 + 부정) |
| D | Y = +1 (스위즐) |
④ Add Input Mapping 블루프린트 작성
- 플레이어에게 Input Mapping Context를 등록

처리 흐름
PlayerController를 Player 0에 연결
↓
Enhanced Input Local Player Subsystem
↓
Add Mapping Context
↓
IMC_Default 등록
↓
IA_Move / IA_Look / IA_Jump 사용 가능
⑤ Movement Input 블루프린트 작성
- 키보드 입력을 받아 캐릭터를 이동시킴

처리 흐름
IA_Move
↓
Action Value
↓
X 값 실행 / Y 값 실행
- X : 전진 / 후진
- Y : 좌측 / 우측
역할
- 액터가 바라보는 방향 기준으로 이동
- 이동 방향 벡터를 이용해 캐릭터 이동
⑥ 캐릭터 이동 방식 개선
기본 상태
W/S
→ 전진, 후진
A/D
→ 제자리 회전
캐릭터가 바라보는 방향 기준 이동

개선 후 -> 컨트롤러 회전값을 이용하여 이동 방향 계산
W → 앞
S → 뒤
A → 왼쪽
D → 오른쪽
입력한 방향으로 캐릭터가 회전한 뒤 이동
2) 시점 이동
① IA_Look 설정
Value Type → Axis 2D (Vector 2D)
- 마우스 X축, Y축 입력 사용

② IMC 설정
- Mouse XY 2D Axis를 IA_Look에 매핑

③ Camera Input 블루프린트 작성
- 마우스 입력을 받아 플레이어 시점을 회전시킴

처리 흐름
IA_Look
↓
Action Value
↓
Add Controller Yaw Input / Add Controller Pitch Input
역할
- Yaw : 좌우 회전
- Pitch : 상하 회전
④ 자연스러운 TPS 움직임 설정
컨트롤러 회전 피치 사용 = False
컨트롤러 회전 요 사용 = False
- 캐릭터가 컨트롤러 회전에 직접 따라가지 않음

무브먼트 방향으로 회전 조정 = True
- 이동 방향으로 캐릭터 회전

폰 제어 회전 사용 = True
- 컨트롤러 회전을 카메라에 전달

결과
마우스
↓
카메라 회전
WASD
↓
이동 방향으로 캐릭터 회전
- 자연스러운 TPS 조작 방식 구현 성공
⑤ 카메라 피치 반전

Modifier
↓
Negate
↓
Y만 체크
결과
마우스 위로
→ 시선 아래
마우스 아래로
→ 시선 위
3) 캐릭터 점프
① IA_Jump 설정
Value Type → Digital (Bool)
- 점프는 On/Off 형태의 입력
- 이동처럼 연속적인 값이 필요 없음

②IMC 세팅
- Space Bar를 IA_Jump에 매핑

③ Jump Input 블루프린트 작성
- 키보드 입력을 받아 캐릭터를 점프시킴

처리 흐름
IA_Jump Started
↓
Jump()
IA_Jump Completed
↓
StopJumping()
역할
- Started : 점프 시작
- Completed : 점프 종료
'언리얼 엔진 > 개념 정리' 카테고리의 다른 글
| 개념 정리 - 블루프린트(1) (0) | 2026.06.14 |
|---|---|
| 개념 정리 - 애니메이션 블루프린트 및 블렌드 스페이스 (0) | 2026.06.13 |
| 개념 정리 - 액터(Actor) (1) | 2026.06.12 |
| 개념 정리 - Fab(마켓 플레이스) (0) | 2026.06.12 |
| 개념 정리 - 개발 요소 (0) | 2026.06.12 |