1. 기획 의도: "부족한 리소스, 엔진 기능으로 돌파하기"
게임 개발 과정에서 모든 동작에 맞는 애니메이션 에셋을 갖추기는 어렵습니다. 특히 '일어나는(Get Up)' 동작이 없을 때, 이미 가지고 있는 '넘어지는(Falling)' 데이터를 활용해 이를 구현할 수 있지 않을까 하는 고민에서 시작되었습니다.
- 목표: 넘어지는 애니메이션을 역재생하고, 키프레임을 수정하여 자연스러운 기상 동작 제작.
- 핵심 도구: UE 5.5.4 시퀀서(Sequencer), 애니메이션 에디터.
2. 주요 구현 절차
① 애니메이션 역재생 (Reverse Strategy)
먼저 넘어지는 애니메이션의 흐름을 반전시켰습니다.
- 애니메이션 시퀀스 설정에서 Rate Scale을 -1.0으로 설정하거나, 시퀀서 타임라인에서 섹션을 반전시켜 기상하는 전체적인 궤적을 확보했습니다.
② 키프레임 편집 (Fine-Tuning)
단순 역재생은 물리적으로 어색한 부분이 생깁니다 (예: 무게 중심의 이동, 손짚기 등).
- 포즈 수정: 시퀀서 내에서 특정 프레임마다 캐릭터의 본(Bone)을 직접 조정하여 '땅을 밀며 일어나는' 힘의 전달을 표현했습니다.
- 커브 조절: 애니메이션 커브를 만져서 일어날 때의 가속도와 감속도를 조절해 무게감을 더했습니다.
③ 엔진 내부 기능 활용 (Optimization)
외부 툴(Maya, Max)로 내보내지 않고 엔진 내에서 해결함으로써:
- 데이터 효율성: 추가적인 FBX 파일 없이 기존 에셋의 변형만으로 용량 최적화.
- 반복 작업 속도: 수정 즉시 게임 환경에서 확인 가능한 워크플로우 구축.
3. 결과 및 회고
영상을 보시면 아시겠지만, 넘어지던 캐릭터가 다시 중심을 잡고 일어나는 과정이 나름 자연스럽게 구현되었습니다.
"리소스를 탓하기 전에 엔진의 한계를 먼저 시험하라."
이번 작업을 통해 시퀀서의 강력한 편집 기능을 다시 한번 체감했습니다. 특히 5.5.4 버전의 안정적인 타임라인 환경 덕분에 키프레임 하나하나를 정교하게 만질 수 있었습니다.
'TIL' 카테고리의 다른 글
| [C++] 2026-05-18 코딩 테스트 첫걸음: 문자열과 벡터(자료구조) 핵심 정리 (0) | 2026.05.18 |
|---|---|
| [UE5]스플라인을 통해서 얼만큼 왔는지 실시간으로 나타내는 방법 (0) | 2026.05.15 |
| [UE5] 외부 툴 없이 엔진 내에서 애니메이션 수정 및 몽타주 적용하기 (0) | 2026.05.13 |
| UE5 협업을 위한 Git 사용법 학습 (0) | 2026.05.12 |
| [C++] 클래스 상속과 템플릿의 조화 (0) | 2026.05.11 |