티스토리 뷰

아무것도 하지 않을 때의 애니메이션 적용해보기
블렌드 스페이스에서 y축 Speed의 수치가 커질수록 idle에서 달리기로 변하는 모습
스테이트 머신을 구성 Idle, Run, Jump, Fall, Land 애니메이션 간 전환을 설정한 모습

 

1. 애니메이션 블루프린트(Animation Blueprint, ABP) 정의 :

- 스켈레탈 메시(Skeletal Mesh)의 애니메이션 로직, 상태 전환(State Machine), 이벤트(Event Graph)를

시각적으로 설계하는 시스템

- 캐릭터 속도, 방향, 상태(공격/피격 등)에 따라 애니메이션을 재생할지 결정

 

ABP의 그래프 구성

그래프 역할
Anim Graph 상태 전환(State Machine)과 블렌드 로직을 연결, 최종 캐릭터 포즈 결정
Event Graph 캐릭터 속도, 방향, 입력 값 수집 → 애니메이션 변수 업데이트

 

애니메이션 에셋 종류

에셋 설명
Animation Sequence 단일 모션(걷기, 뛰기, 공격 등)
Animation Montage 여러 시퀀스를 이벤트별로 합성, 재생 (특정 이벤트용)
Blend Space 여러 시퀀스를 축(X/Y) 값에 따라 자연스럽게 섞어 재생 (걷기↔뛰기 등)

 

애니메이션 적용 순서

 

1. 콘텐츠 브라우저에서 ABP 생성 → 스켈레톤 선택 → 이름 설정

2. 애니메이션 시퀀스를 Anim Graph의 Output Pose에 연결

3. 캐릭터 블루프린트(BP_Character)에 ABP 등록 → 적용 확인

 

2. 블렌드 스페이스(Blend Space)

걷기, 뛰기 등 서로 다른 애니메이션을 파라미터 값(예: Speed)에 따라 자연스럽게 연결

 

2-1. 블렌드 스페이스 생성

Anim 폴더 → Blend Space 생성 → 스켈레톤 선택 → 이름 설정

축 설정(X/Y), 이번 예제는 Y축 = Speed

애니메이션 배치:

- Speed = 0 → Idle

- Speed = Max → Run

Shift/ Ctrl 키로 정렬 및 프리뷰 가능

 

3. 스테이트머신(State machine)

상태(State) + 기계(Machine) → 이벤트에 따라 상태가 전환되는 시스템 (예시: 신호등, 자판기 등)

 

3-1. 속도값 수집

Event Graph에서 Try Get Pawn Owner → Get Velocity → 벡터 길이 → Speed 변수에 저장

Speed 변수를 블렌드 스페이스 Y축과 연결

 

3-2. 스테이트머신 적용

Anim Graph → Add New State Machine

내부에서 State 추가 → Idle, Run 생성

Idle → A_Bot_Idle, Run → Blend Space 연결

트랜지션 룰 설정 :

- Idle → Run: Speed > 0

- Run → Idle: Speed ≤ 0

 

3-3. 점프값 수집

Character Movement Component → IsFalling → IsInAir 변수 생성

Sequence 노드로 Speed + IsInAir 동시에 업데이트

 

3-4. Jump, Fall, Land 상태

상태 애니메이션 트랜지션 조건
Jump A_Bot_Idle_Jump IsInAir = true
Fall A_Bot_Fall Jump 후 자동 전환
Land A_Bot_LandIdle IsInAir = false, 자동 전환
Idle/Run A_Bot_Idle / Blend Space 기본 상태

 

 

 정리 & 핵심 포인트

ABP → 캐릭터 애니메이션 로직 시각적 설계

Blend Space → 여러 애니메이션을 자연스럽게 연결

State Machine → 여러 상태 관리 및 조건부 전환

Event Graph → 매 프레임 입력/속도/점프 등 변수 업데이트

Speed, IsInAir 등 변수를 잘 활용하면 캐릭터 움직임이 부드럽고 자연스러워진다.

 

캐릭터 이동 구현 (Part 2)

구분 내용
1. 오늘 배운 개념 요약 - Character Movement Component는 언리얼의 기본 캐릭터 클래스에 포함된 이동 제어 컴포넌트로, 걷기 속도, 점프 높이, 중력 설정 등을 세밀하게 조정할 수 있음.
- Spring Arm + Camera 시스템을 통해 카메라가 캐릭터를 자연스럽게 따라다니며 회전하도록 설정 가능.
- InputAction Jump를 사용하면 블루프린트 노드만으로 손쉽게 점프 동작을 추가할 수 있음.
- 회전과 점프, 속도 조절은 모두 캐릭터 컨트롤의 자연스러움에 직접적인 영향을 주므로 실무에서도 자주 조정하는 요소임.
2. 구현 과정 요약  [Step 1] 점프 기능 추가- Project Settings → Input → Jump(기본 Spacebar) 확인- MyCharacter 블루프린트 → Event Graph → InputAction Jump → Jump() / StopJumping() 노드 연결
[Step 2] 이동 속도·점프 높이 조정
- Character Movement 컴포넌트 선택
- Max Walk Speed: 600 → 800
- Jump Z Velocity: 700 → 900
[Step 3] 카메라 회전 설정
- Spring Arm: Use Pawn Control Rotation ✅
- Camera: Use Pawn Control Rotation ❌
- Class Defaults: Use Controller Rotation Yaw ✅
[Step 4] 테스트 플레이- WASD 이동 + 마우스 회전 + Space 점프 확인
- 캐릭터가 회전하면서 자연스럽게 이동 및 점프 동작 수행
3. 느낀 점 & 개선하고 싶은 점 - 점프와 회전 기능을 직접 연결해보면서 캐릭터 조작 구조를 명확히 이해할 수 있었다.
- Character Movement의 파라미터를 변경할 때 작은 수치 차이에도 움직임의 느낌이 크게 달라지는 점이 흥미로웠다.
- 기본 Third Person 카메라보다 약간 더 부드럽게 회전하도록 Spring Arm LengthCamera Lag 옵션을 조정해보고 싶다.

MyCharacter > SpringArmComponent 선택 Use Pawn Control Rotation : 체크
CameraComponent 선택 Use Pawn Control Rotation : 체크 해제
MyCharacter 블루프린트의 Class Defaults에서 : Use Controller Rotation Yaw : 체크
테스트 플레이

'내일배움캠프 Unreal_7기 > 사전캠프' 카테고리의 다른 글

사전캠프 TIL - 8일차  (0) 2025.11.12
사전캠프 TIL - 7일차  (0) 2025.11.11
사전캠프 TIL - 5일차  (0) 2025.11.07
사전캠프 TIL - 4일차  (0) 2025.11.06
사전캠프 TIL - 3일차  (0) 2025.11.05