애니메이션 블루프린트
언리얼 엔진에서 캐릭터의 골격(스켈레톤) 기반 애니메이션을 시각적으로 설계하는데 특화된 전용 블루프린트.
스켈레탈 메시, 애니메이션 시퀀스, State Machine 등을 연결하는 "중간 다리" 역할.
Anim Graph & Event Graph
Anim Graph
- 입력 노드 → 블렌딩(Blend) → 출력 노드(Output Pose) 순으로, 캐릭터가 어떤 포즈와 애니메이션을 취할지 결정
Event Graph
- Tick 이벤트나 BlueprintImplementableEvent 등을 활용해 C++ 혹은 게임 로직과 애니메이션을 연동할 수 있다.
이벤트 그래프에서 Movement Component 정보 받아오기
캐릭터 Movement Component 변수화
Movement Component는 캐릭터의 이동 속도, 가속도, 점포, 낙하 여부 등 다양한 이동 관련 정보를 제공
애니메이션 블루프린트와 캐릭터를 연동해, 캐릭터의 이동 상태에 따라 다른 애니메이션을 재생하기 위해서 필수적
매 프레임마다 캐릭터의 수평 속도 가져오기
Event BlueprintUpdateAnimation 노드는 프레임마다 호출되어 애니메이션 로직을 업데이트한다.
매 프레임마다 캐릭터의 움직임 여부 저장
매 프레임마다 캐릭터의 낙하 여부 저장
애님 그래프에서 "Locomotion" State Machine 설계
State Machine, 상태 기계는 언리얼 엔진의 애니메이션 시스템에서 캐릭터의 상태에 따라 어떤 애니메이션을 재생하고 어떻게 전환할지를 결정하기 위한 논리적 구조다.
State Machine의 핵심 개념
- State(상태)
- 캐릭터가 현재 어떤 동작을 하고 있는지
- Transition(전환)
- 한 상태에서 다른 상태로 언제 전환되는지 조건(Condition)을 정의
- Animation Graph와의 연결
- State Machine 내부의 상태는 실제로 재생할 애니메이션을 배치하는 장소
- State 간 전환 조건을 만족하면 다른 애니메이션이 재생되도록 한다.
"Locomotion" State Machine
애님 그래프에서 "Main States" State Machine 설계
"Main States" State Machine 생성
Control Rig 설정
- "Set Initial Transforms From Mesh" 체크
- 현재 스켈라텔 메쉬의 뼈 변환을 그대로 초기값으로 사용하겠다는 의미
- 매 프레임 계산된 포즈를 기반으로 Control Rig가 추가적인 IK나 변형을 진행
- Control Rig → Control Rig Class에서 `CR_Mannequin_BasicFootIK` 지정
- 프로젝트에 존재하는 IK용 Control Rig 에셋
- Input / Output 모두 `ShouldDoIKTrace`의 `Use Pin` 체크
- 실제 발 위치를 추적(Trace)할 것인지 결정
- 캐릭터가 공중에 잇을 땐 발 IK를 안 쓰고, 지면 위에서만 발 IK 사용 등 조건에 따라 사용 가능
"Locomotion" State Machine을 캐시 포즈로 저장
"Main States" State Machine 설계
'본 캠프 > Note' 카테고리의 다른 글
[C++과 Unreal Engine으로 3D 게임 개발] 충돌 이벤트와 아이템 획득 (0) | 2025.09.29 |
---|---|
[C++과 Unreal Engine으로 3D 게임 개발] 인터페이스 기반 아이템 클래스 설계 (0) | 2025.09.29 |
[C++과 Unreal Engine으로 3D 게임 개발] 동작 구현과 입력 처리 (0) | 2025.09.19 |
[C++과 Unreal Engine으로 3D 게임 개발] 입력 매핑 구현 (0) | 2025.09.19 |
[C++과 Unreal Engine으로 3D 게임 개발] 클래스를 활용한 캐릭터 구현 (0) | 2025.09.18 |