- 개발 및 공급 : 에픽게임즈
- 주요 특징 : 마야에서 제작한 세컨더리 애니메이션을 언리얼 엔진으로 임포트 및 매칭, 마야용 및 언리얼 엔진용 플러그인 제공, 각 관절 세트에 대한 솔버 생성 및 옵션을 기반으로 포즈 보간 방식 결정, 포즈 및 솔버의 JSON 파일 익스포트 지원 등
고퀄리티 3D 캐릭터 제작에 있어 애니메이션의 사실감을 높이는 것은 매우 중요한 작업이다. 그 중 하나가 메인 애니메이션에 반응하여 메인 애니메이션을 향상하거나, 강조하는 세컨더리 애니메이션을 추가하는 것이다.
캐릭터의 세컨더리 애니메이션을 구성하는 예시로 애니메이터가 직접 제어하지 않고도 관절이 다른 관절에 반응하여 자연스럽게 움직이는 경우를 들 수 있는데, 캐릭터의 팔을 위아래, 앞뒤로 움직여 쇄골(빗장뼈)을 회전시키면 견갑골(어깨뼈) 등의 주변 관절도 실제와 같이 움직이는 것이다. 그 결과 더 그럴듯하고 디테일한 애니메이션이 만들어지며, 처음 한 번만 세팅하면 이후에는 자동으로 적용된다.
▲ 이미지 출처: ‘세컨더리 애니메이션을 위한 신규 포즈 드라이버 커넥트 툴세트 | 언리얼 엔진’ 영상 캡처
에픽게임즈가 출시한 ‘포즈 드라이버 커넥트(Pose Driver Connect)’는 사실적인 애니메이션을 빠르게 제작할 수 있는 툴세트이다. 오토데스크 마야(Autodesk Maya)에서 제작한 세컨더리 애니메이션을 언리얼 엔진으로 임포트하여 처음부터 다시 만들 필요 없이 일대일로 매칭하여 재현할 수 있으며, 이를 통해 작업 시간을 절약할 수 있다.
이 툴세트는 방사형 기저 함수(Radial Basis Function : RBF)를 사용하며, 마야용 포즈 랭글러(Pose Wrangler) 플러그인과 언리얼 엔진용 포즈 드라이버 커넥트 플러그인으로 구성되어 있다.
마야의 ‘Set Driven Key’ 기능을 사용해 본 적이 있다면 포즈 랭글러를 사용하는 기본 개념에 쉽게 익숙해질 수 있다. 쉽게 말해 관절을 한 방향으로 회전하고, 주변 관절을 움직여서 사실적인 디포메이션을 구현하며, 해당 지점에서 포즈를 만드는 방식으로 애니메이션을 제작한다. 그런 다음 주축(driver)이 되는 관절을 반대 방향으로 회전하고, 종속(driven)되는 관절을 움직여서 또 다른 포즈를 설정하는데, 다른 회전축을 대상으로 이러한 과정을 반복한다.
▲ 세컨더리 애니메이션 적용 전 모습(이미지 출처 : 언리얼 엔진 홈페이지)
▲ 세컨더리 애니메이션 적용 후 모습(이미지 출처 : 언리얼 엔진 홈페이지)
포즈 랭글러는 이러한 각 관절 세트에 대한 솔버를 생성하여, 설정할 수 있는 몇 가지 옵션을 기반으로 포즈 보간 방식을 결정한다. 그런 다음 FBX 클립으로 포즈와 함께 솔버를 JSON 파일로 익스포트할 수 있다. 중요한 점은, 포즈를 디폴트 포즈와의 델타값을 기반으로 선택적으로 익스포트할 수 있어 그 구성을 비슷한 캐릭터에 리타기팅할 수 있으므로 시간을 더욱 절약할 수 있다는 점이다.
언리얼 엔진에 포즈 드라이버 커넥트 플러그인을 설치하면 솔버와 포즈를 임포트하여 세컨더리 애니메이션을 재현할 수 있다. 애니메이션 블루프린트를 통해 정확히 동일한 연산을 적용하여 재현하는데, 그 결과 훨씬 짧은 시간 내에 게임, 애니메이션 또는 기타 리얼타임 콘텐츠용 고퀄리티 캐릭터를 만들 수 있다.
포즈 드라이버 커넥트는 메타휴먼 및 기타 스켈레톤 구성에서 작동하지만, 캐릭터 애니메이션 작업에만 제한되지는 않는다. 기본적으로 어떠한 오브젝트의 회전에 기반하여 모든 오브젝트의 트랜스포메이션(이동, 회전, 스케일 조절)을 구동할 수 있다. 게다가 해당 함수 기능은 블루프린트 비주얼 스크립팅과 파이썬(Python)을 통해 노출되므로, 파이프라인에 적합한 자동화를 통해 빌드할 수 있다.
■ 기사 내용은 PDF로도 제공됩니다.