We always wanted to use UE5's Metahumans avatars into our projects but we soon realized they were too expensive on performance for standalone VR (this is before version 5.6 where Epic seemed to paid attention to this issue). So, what do you do when you want to use visually detailed avatars in real-time applications? You optimize them!
This tool wasn't just about reducing complexity of Metahumans, but an opportunity to streamline the animation pipeline by retargeting and repurposing multiple animations across characters while leaving a small memory footprint in our 3D projects.
Steps
- Get the fundamentals The first step was to understand the core mechanics of a skeleton rig. What are joints, weights constraints and inverse kinematics in the context of rigging and animation. The image below depicts some of my testing using KineFX toolkit inside Houdini to control character poses using control rigs for a high level and artist-centric perspective.
- Pose Matching for clean retargeting Matching the source avatar’s skeleton pose to the target avatar’s pose is critical otherwise animations can deform due to inconsistent rig setups. I believe Houdini toolkit KineFX (and now APEX, its successor) really makes life easier because it can procedurally map corresponding bones between avatars, removing the need for tedious manual labeling.
- Keep everythin in one place This step is done via a Houdini plugin called HDA for live communication between Unreal Engine and Houdini. This enabled artists to make avatar changes in Houdini and see updates reflected in UE5 in real-time. The plugin also allowed me to expose only the most essential parameters, keeping the interface clean and focused. I later wrapped this setup into a custom tool directly inside Unreal Engine to leverage modules like the Retargeting System and Skeleton LODs, which are exclusive to UE5.
- Skeleton-based avatars, which support real time interaction between end-users and 3D avatars. This option doesn't not only allows more complex character behaviors, but enables fine-tune control of the animation via UE's control rig system.
- VAT animations, which lack interactivity but are extremely lightweight making them ideal for populating large scenes with many characters without taxing performance.
So, this system ensured modularity, automation and optimization, core assets for real-time applications like VR headsets.