Metahumans - Body Animation

Import and retarget Mixamo animations to a Metahuman

Download Animation Assets

  1. Go to www.mixamo.com and sign in with your Adobe account

  2. Under the "Characters" tab, search for and download the "Y Bot" character with the following settings:

    • Format = FBX Binary (.fbx)
    • Pose = T-pose
  3. Under the "Animations" tab, find and download your desired Y Bot animations with the following settings:

    • Format = FBX Binary (.fbx)
    • Skin = Without Skin
    • Keyframe Reduction = None

Tip

This guide walks through the process of animating a male Metahuman. However, the same process can be used to animate a female Metahuman by using an X Bot and X Bot animations from Mixamo instead of a Y Bot.

Add Root Motion to Animations Using Blender

  1. Download and install Evan Bohl's Custom Blender Version (it is free but consider donating :) ).

  2. Open up the program folder for Evan Bohl's Blender (Folder name should be "BlenderMixamo").

  3. Navigate to the "Anims In Folder".

  4. Drag the Y Bot and Y Bot animations you downloaded into the "Anims In Folder".

  5. Navigate back to the "BlenderMixamo" folder and double click "Launch Blender" to launch Evan Bohl's Blender.

  6. In Blender, expand the right menu panel and click "Batch Convert." Wait for it to process. You will know it is done when the objects in the viewport disappear.

  7. Animations with root motion have been placed in the "Anims_Out" folder under the "BlenderMixamo" folder!

Import Animations into Unreal

  1. In Unreal, if your project does not already contain the ThirdPerson Asset Pack, add it to your project.

  2. Import the Y Bot fbx into your desired content folder with default settings.

  3. AFTER importing the Y Bot, import your Mixamo animations from the "Anims_In" folder. Make the following settings changes when importing:

    • Import Mesh = [unchecked]
    • Skeleton = Y_Bot_Skeleton

Set Up IK Rigs

  1. In the Metahuman folder, search for "IK_metahuman". Open the asset.

  2. If the character in the viewport is incorrect, it can be corrected by changing the "Preview Skeletal Mesh" in the Details Panel on the right side.

  3. In your Content Browser, navigate back to the folder containing your Y Bot. Right click in the folder and select: [Animation --> Retargeting --> IK Rig].

  4. Open this new IK Rig asset, and put it side by side with the "IK_Metahuman" asset.

  5. Build a bone hierarchy for the Y Bot to match the hierarchy for the Metahuman rig. For a fantastic demonstration of how to do so, I recommend watching Maris Freimanis's video below. Be sure to watch through timestamp 15:30 in order to cover:

    1. Building the Y Bot IK Rig
    2. Adding a Solver
    3. Assigning a Root Bone and IK Goals
    4. Adjusting Bone Stiffness settings

Create a Y Bot to Metahuman IK Retargeter

  1. Right click in the Content Browser and select: [Animation --> Retargeting --> IK Retargeter].

  2. Set the "Source IKRig Asset to the Y Bot IK Rig you created.

  3. Set the "Target IKRig Asset" to:  "IK_Metahuman".

  4. Swap preview meshes as needed.

Tip

Adjust the "Target Mesh Offset" in the IK Retargeter to reposition the Metahuman mesh next to the Y Bot mesh for easier viewing.

IMPORTANT MODIFICATION

If you are following Maris's guide, they use the IK Goals in the retargeter. However, I have found that, particularly when the Y Bot and Metahuman (or other character being retargeted) are different heights, this can lead to the Target character bending in undesirable ways to match IK Goals exactly rather than repositioning proportionally to height. From my research, it seems that IK Goals are primarily for adjusting a character directly and are not necessary for retargeting. You should still set up Goals in the IK rigs, but when retargeting disable the IK Goals by:

That being said, Maris did not seem to have the same issue, so the problem could be specific to my workflow. I recommend testing out both methods to see which works best for you!

Match the Y Bot and Metahuman Base Poses

  1. We need to get the Metahuman into a matching T-Pose like the Y Bot. This can be done by manually repositioning the Metahuman in the IK Retargeter, but doing so can be a time consuming and difficult process. Maris Freimanis kindly provides a free Unreal Mannequin T-Pose asset that we can retarget to a Metahuman (Mannequins and Metahumans have the same base pose by default so this is an easy way to manipulate a Metahuman's pose). You can get the T-Pose asset by joining Maris's Discord Channel (which is a great community for Unreal support!). The link to join the Discord channel is in the description of Maris's video.

  2. Import the T-Pose asset. For "Skeleton" in the import settings, select: "SK_Mannequin".

  3. Right click in the Content Browser to create a new IK Retargeter asset.

    • Source IKRig Asset = IK_Mannequin
    • Target IKRig Asset = IK_Metahuman
  4. In the upper left corner, select [Create --> Create New] to create a new retarget pose. Name it something like "T-Pose_meta".

  5. In the bottom right Asset Browser, search for "T-Pose" and double click the T-Pose asset.

  6. The Metahuman should now be in a T-Pose. In the upper left corner, select [Create --> Export Pose Asset].

  7. Open the Y Bot to Metahuman Retargeter asset.

  8. Select [Create --> Import from Pose Asset]. Select the Metahuman T-Pose asset you just created.

Fine Tune the Retargeting

  1. Unreal will have automatically mapped chains on the Target Mesh to chains on the Source Mesh, but this process may not produce entirely correct results. As such, it is important to go through each row in the Chain Mapping tab of the retargeter in order to confirm all chains are mapped properly. Moreover, for all rows where the Target has a chain that does have a correlating chain in the Source (or vice versa), the Source Chain should be set to "None". In the case of Y Bot to Metahuman retargeting, the following Target Chains should have their Source Chains set to "None":

    • All chains containing "Metacarpal"
    • All chains containing "ArmTwist"
    • All chains containing "CalfTwist"
    • All chains containing "ThighTwist"
  2. In the Asset Browser tab in the lower right corner, double click on a Mixamo animation to preview it on both the Y Bot and Metahuman.

    • If there are issues of body parts passing through other body parts (such as hands colliding with legs), select the problem chain in the Chain Mapping tab. Then, in the details panel, adjust the "Static Offset" value to offset its position. You can also try adjusting the "Blend to Source" value.
  3. Once you are happy with the results, you can export animations as Metahuman animations by selecting your desired animations in the Asset Browser tab and clicking "Export Selected Animations".