Using Match Pose feature in Uefy 2.1

Uefy v2.1 adds a new Match Pose feature that can pose the rigged character to be the same as an imported animation.

This is significant because now we can easily copy Key Frames from existing animations. Allowing us to seamlessly blend our custom animations with existing sets like those on the Unreal Marketplace.

Prior to this feature it had to be done manually. By individually moving every single control to it’s correct position in an attempt to match the pose of an existing animation.

There are Limitations

However it is important to understand the limitations of this feature and how it works to use it effectively.

Match Pose not Retarget

This feature is not a retargeting solution, it simply matches the transforms of an imported armature with animation to the rigify rig.

This means we need additional measures to use characters with different proportions to copy the pose. Otherwise if animations were authored on a different character they could not be copied over without severe distortion. That would be very limiting and not useful at all.

So we use Unreal Engine to do the retarget for us. Animations from the unreal marketplace are obtained for the unreal mannequin. But they can be retargeted using the engine to a character of any size.

By retargeting in the engine to our characters previously rigged with Rigify + Uefy. We can obtain animation that is usable for pose matching.

While this works well for overall size/scale. Some features to fine tune the retarget are specific to the unreal editor and not exported in the output FBX.

To get an accurate view of what the pose will look like in Blender. In the skeleton Retargeting Options, recursively set everything to ‘Animation’.

(Left) Production values for retargeting options. (Right) Everything set to ‘Animation’

Depending on how different the proportions of your character are to the Unreal mannequin this will introduce stretching and displacement in some places (which can be fixed as shown below).

This is the pose that will be exported from the engine to FBX.

How to work around this

So how can we work around this?

Use the Mannequin

Well the first thing you can do is just rig the mannequin in blender and use that for creating your own animation. Since any rigged mannequin is going to match the proportions of the original. There will be minimal stretching or displacement.

Once the animation is made and imported to unreal you can retarget it to your custom characters in the editor.

But I want to use Custom Mesh

Can we use a Custom Mesh and overcome this stretching problem? Yes.

Depending on what you need this will mean different things.

If you are primarily interested in single poses for Key Frames. You can simply move the displaced bones into place. If a single pose is what you need that is all there is to it. Once corrected you can add it to the pose library and reuse as needed.


But I want the entire Animation

This trick is not going to work for a whole animation. Because that would mean updating every single frame by hand. Can we do anything in this case? Yes.

It may not be as fancy as the retargeting options in the unreal editor but Uefy does offer a couple of options to improve the pose.

Do keep in mind the primary purpose of this feature is to extract specific frames from an animation rather than to get a complete clip. While a single extracted frame can easily be fixed by manual adjustments if needed, this won’t be possible for a full animation.

(Left) Match Pose with default control file. (Right) Match Pose with customized control file resolve all issues.

You can edit the control file in Scripting workspace. It would be called ‘uefy_anim_Custom.json’ and set either location or rotation value to ‘false’ for any problem bone.

This is somewhat affected by the type of animation you are running. But for most animation selectively setting the location value to false on clavicle, thigh, upperarm, hand and toe bones will likely eliminate the most common stretching problems.

Turning off a transform on one bone might have consequences further down the chain. If your mesh has them the twist bones might also play a role. So you do need to plan this out a little.

This is not about just flipping a switch on or off. By carefully choosing whether location or rotation transforms are copied from the animation or inherited from the rig by various bones. You can remove the stretching problem almost completely.

In the cases where this is affecting animation playback you can fall back to animating with the mannequin.

Conclusion

Using a combination of manual adjustment and control file customization. We can efficiently Match Pose and extract Key Frames from existing animation. Without spending a lot of time manually moving every control in the rig. This is the primary function of this feature.

It is a great time saver added to Uefy 2.1