Animation Blueprint
- Animation Blueprint에는 Event Graph와 AnimGraph가 존재
- Event Graph는 논리의 흐름을 다룸
- Try Get Pawn Owner
- Event Blueprint Update Animation
- 틱 기능과 유사
- 애니메이션이 업데이트 될때마다 호출
- Event Blueprint Initialize Animation
- AnimGraph는 포즈를 다룸
- 캐릭터의 자세를 이루는 Bone의 변화를 만들 수 있음
- 게임이 실행되지 않아도 업데이트가 계속됨
Animation StateMachine
- 캐릭터의 다양한 애니메이션을 관리하는 시스템
- 주요 개념
- State(상태)
- Transition(전환)
- Conditions(조건)
- Blend(블렌딩)
- 상태 변경 시 애니메이션이 자연스럽게 연결되는 과정
- 기본 구조
- Entry(시작 지점)
- 애니메이션이 처음 시작되는 위치
- 보통 기본 대기 상태(Idle)에서 시작됨
- States(상태)
- 캐릭터의 애니메이션 상태(예 : Idle, Walk, Run, Attack)
- 각각의 상태에는 Animation Sequence나 BlendSpace가 연결됨
- Animation Sequence
- BlendSpace
- 여러 애니메이션을 혼합하여 자연스럽게 전환하는 공간
- Trnasitions(전이)
- 한 상태에서 다른 상태로 변경될 때 적용됨
- 전이에는 조건(Conditions)을 설정하여 자동으로 전환 가능
- Blend(블렌딩)
- 상태가 바뀔 때 애니메이션이 부드럽게 전환되도록함
- StateMachine을 변수처럼 저장할 수 있음
- Automatic Rule Based on Sequence Player in State
- 애니메이션 시퀀스 재생 여부를 기반으로 상태 전환을 자동으로 수행하는 규칙
- 현재 상태에서 사용중인 애니메이션 시퀀스가 끝나는 시점에 자동으로 상태를 변환함
Anim Instance
- 캐릭터의 애니메이션을 제어하는 핵심 클래스
- Anim Instace 커스텀 C++ 클래스를 만들 수 있음
- NativeInitializeAnimation()
- 블루프린트의 Event Blueprint Initialize Animation와 유사
- NativeUpdateAnimation(float DeltaTime)
- 블루프린트의 Event Blueprint Update Animation와 유사
Inverse Kinematics
- Inverse Kinematics(역운동학, IK) 는 캐릭터의 말단(손, 발 등) 위치를 조정하면 나머지 관절이 자동으로 따라 움직이는 방식을 의미
- 과정
- Sphere Trace
- 충돌 지점이 가장 낮은 값을 찾아야함
- 가장 낮은 값에 따라 골반뼈 위치 이동
- Interpolate를 활용하여 부드럽게 target value로 향하게끔 함
IK Rig
- Inverse Kinematics Rig
- 애니메이션 기능 중 하나로 애니메이션 리타겟팅과 IK 조작을 시각적으로 설정할 수 있는 시스템
- 주요 목적
- 리타겟팅
- 실시간 IK 제어
- 발 위치 조정, 손 위치 고정, 무기 맞춤 등
- 절차적 포즈 조정
IK Retargeter
- 서로 다른 스켈레톤 구조 간에 애니메이션을 정확하기 옮기기 위한 툴
- IK Rig와 함께 사용되며, 특히 메타휴먼처럼 복잡한 본 구조를 가진 캐릭터들 간의 애니메이션 공유를 쉽게 만들어줌