패스트캠퍼스 환급챌린지 20일차 : RPG 전투 플레이 프로젝트로 배우는 언리얼 엔진 5 게임 개발 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
오늘은 언리얼 엔진에서 애니메이션 몽타주를 활용해 캐릭터의 상하체 애니메이션을 분리하는 작업을 진행했다. 단순한 이동이나 전투 애니메이션을 재생하는 단계를 넘어, 하나의 캐릭터가 동시에 여러 개의 행동을 자연스럽게 수행하도록 만드는 데 있어서 아주 중요한 기술이라는 걸 실감했다.
지금까지는 칼을 꺼내는 애니메이션 동작을 만들 때, 전체 바디에 동일한 애니메이션을 재생하는 방식만 사용했다. 하지만 이 방식은 이동 중 공격하거나, 달리는 도중 특정 동작을 할 때 부자연스러운 연출로 이어졌다. 칼을 꺼내는 애니메이션이 재생되는 순간 캐릭터가 갑자기 멈추고 전체 몸이 강제로 애니메이션에 끌려가는 현상이 발생했다. 그래서 이번엔 애니메이션 몽타주의 Slot 시스템과 Layered Blend per Bone 기능을 활용해 상체와 하체를 분리하여 서로 다른 애니메이션을 동시에 재생할 수 있도록 구현해보았다. 핵심은 몽타주에서 상체 동작만 재생하고, 하체는 이동 애니메이션을 그대로 유지하도록 처리하는 것이다.
우선 애니메이션 몽타주의 Slot을 새롭게 만들어 “UpperBody”라는 이름으로 상체 애니메이션만 담당하도록 설정했다. 이 슬롯은 기본 Anim Graph 내의 Layered Blend per Bone 노드와 연결되어 있으며, 특정 본을 기준으로 그 위쪽은 공격 애니메이션이, 아래쪽은 이동 애니메이션이 유지되도록 했다.
이번 작업을 통해 얻은 가장 큰 수확은, 애니메이션을 보다 모듈화하고 기능적으로 분리함으로써 복잡한 액션을 조화롭게 연결할 수 있다는 가능성을 알게되었다. 상하체뿐만 아니라, 필요에 따라 좌우 팔 분리, 머리 회전 제어, 특정 상황에 따라 하체 고정 등 다양한 활용도 기대할 수 있을 것 같다. 상체/하체 분리 애니메이션은 특히 액션 게임이나 TPS 장르에서 자주 쓰이는 기법이라고 한다. 직접 실습을 해서 만들어보니 애니메이션을 하나하나 만드는 것 보다 이렇게 애니메이션을 분리하면 훨씬 작업이 용이할 것 같았다.
Abit.ly 다운받기
abit.ly