언리얼 엔진 애니메이션 블루프린트 정리

2026. 4. 16. 23:00Unreal

애니메이션 블루프린트란?

애니메이션 블루프린트는 캐릭터의 골격(스켈레톤) 기반 애니메이션을 시각적으로 설계하는 전용 블루프린트이다.

일반 블루프린트가 게임 로직을 담당하는 것처럼, 애니메이션 블루프린트는 캐릭터가 어떤 모션을 취하고 어떻게 전환할지를 담당한다.

 

내부에는 두 가지 그래프가 있다.

  • Anim Graph : 어떤 애니메이션을 출력할지 결정. 포즈를 블렌딩하고 최종 출력
  • Event Graph : 게임 로직과 연동. 매 프레임 변수 갱신, 초기화 등 처리

Event Graph - Movement Component 정보 받아오기

캐릭터 상태에 반응하기 위해서는 캐릭터의 Movement Component의 정보가 필요하다.

 

변수 준비

Character - Character Object Reference

CharacterMovement - Character Movement Component Object Reference

 

초기화 - Event Blueprint Initialize Animation

Event Blueprint Initialize Animation은 애니메이션 블루프린트가 시작될 때 딱 한 번 호출된다.

여기서 캐릭터의 참조를 가져와 변수에 저장한다.

 

매 프레임 갱신 - Event Blueprint Update Animation

Event Bluepirnt Update Animation은 매 프레임마다 호출되어 애니메이션 로직을 업데이트한다. 

여기서 캐릭터의 상태를 체크해서 변수를 갱신해준다. Sequence를 통해 여러 변수를 관리한다.

 

- Ground Speed

Z축을 제외하고 수평 이동 속도를 구한다.

땅에서의 속도만 중요하기 때문이다.

 

- bShouldMove

속도가 일정 수치 이상이고 입력도 있을 때만 "이동 중"이라고 판단한다.

속도만 가지고 판단하면 관성으로 미끄러지는 상황에서 오판할 수 있기 때문에 입력까지 함께 체크해준다.

 

- bIsFalling

점프중이거나 공중에 있을 때 true를 반환한다. 착지하면 false


Locomotion State Machine

여기서 State Machine이란?

캐릭터의 상태에 따라 어떤 애니메이션을 제생하고 언제 전환할지를 정의하는 구조이다.

 

핵심 개념은 세 가지이다.

  • State(상태) : 캐릭터가 현재 취하는 동작 / 예시) Idle, Walk/Run, Jump 등
  • Transition (전환) : 한 상태에서 다른 상태로 넘어가는 조건 / 예) 속도 3.0f 이상이면 Walk로 전환
  • Animation과의 연결 : 각 State 안에 실제 재생할 애니메이션 시퀀스나 Blend Space를 배치

Locomotion 구성

애니메이션 그래프에서 [ state Machine ] 검색 후 이름을 "Lotomotion"으로 생성 후 Output Pose와 연결한다.

그 후 Lotomotion을 구현해야한다.

 

Idle State , Walk / Run

다음과 같이 Idle과 Walk / Run State를 추가한다.

 

Idle을 클릭해서 내부를 구현한다.

Idle 애니메이션과 Output Pose를 구현한다. 따로 건드려줄 부분이 없이 바로 연결해주면 평상시에 Idle 애니메이션이 나온다.

 

Walk / Run 블렌드 스페이스를 연결한다. Ground Speed를 입력으로 받아 걷기 / 달리기 애니메이션을 속도에 따라 자연스럽게 조절한다.