Metahuman Animator to UEFN?

I saw the StandUp Verse Template in the updates this week. As I am tinkering with it the metahuman to UEFN documentation states that exported animations only work with metahumans. However, in the example project they are using livelink data to drive the Fortnite characters in UEFN. Is there anyone who can tell or show me how they are doing this? I thought about making a retargeter to get around this also but it’s also taking a little time so I decided i’d ask here! I have followed the steps in this multiple times: ([Importing MetaHuman Animations](https://Importing MetaHuman Animations))

Thank you in advance!
Tay

2 Likes

Hi @Y0Tay – I’ve had the same question, and after a couple of weeks of spending way too much time on this, I believe that I have figured it out (or at least part of it --hopefully someone who knows this workflow better will reply and correct what needs correcting in the following).

Here’s how I managed to put Metahuman facial animation on a Fortnite character:

I copied/pasted all the animation curves that began with “CTRL_expressions_” from the animation spit out by the Metahuman performance asset (in UE5.3) into an animation of the same length that I made for the FN_Mannquin_Skeleton (in UEFN). However:

(1) I think you need to do all the copying/pasting in UEFN (as the UEFN curves clipboard seems to work a little differently than the one in UE5.3). But exporting animations as FBX often seemed to remove all animation curves, so I first exported/imported (as FBX) the Metahuman identity skeletal mesh to get it into UEFN. Then I separately exported/imported the animation spit out by the Metahuman performance asset (selecting the Metahuman identity skeletal mesh on import dialog). This preserved all those precious animation curves.

(2) To get the curves to work right on the FN_Mannequin_Skeleton, I think you need to manually add the following curves to the FN_Mannequin_Skeleton animation: “is_3L” ; “DisableFaceOverride” ; and “default” [and then in the dropdown for “is_3L” and “DisableFaceOverride” select Convert To Metadata. Not sure what “default” does but in the comedy club animation it is given a constant value of 1.074. I set this to metadata as well so it has a constant value of 1.]

(3) In addition to the “CTRL_expressions_” animation curves, the comedy club template animation is using curves like “head_cm1_color_head_wm1_browsRaiseInner_L” and “head_wm1_normal_head_wm1_browsRaiseInner_L”. It looks like first curve has data copied over from CTRL_expressions_browRaiseInL, but this data has then been scaled down (for example, as if the Transform tool in the curve editor had then been used to squish the curve down). The other “…color_head…” curves look like they were created using the same pattern. All “…normal_head…” curves are precise duplicates of the corresponding “…color_head…” curves.

I hope this helps (I was certainly glad to finally figure something out)! I hope that someone who understands the Metahuman Animator → Fortnite Character workflow better can set the record straight.

1 Like

Thank you so much for your help. I’m digging into your advice now. I will report back soon. THANK YOU :pray:

DUDE YOU ROCK!!

I took it a step further once I understood your method. I think you can use any body animation as the base for the curve workflow. For instance, I took an existing base idle animation and pasted the MHA + the 3 that you suggested and it works too!

I could kiss your face right now! Much appreciated.

What Skeletal Mesh options are working? I’m trying to use a custom MetaHuman.
I can get a MetaHuman body mesh to work but I can not get a MetaHuman Face mesh to load in a session- I get a “disallowed object” error.

I had luck with importing the skeletal mesh from the Metahuman ID asset, that @0pebble described.
After importing that asset, you will then import the fbx animation that you can make from the Metahuman Animator Perfomance Asset. [Export as animation sequence, then Right click on that sequence you created and export]
Import that into UEFN with your Metahuman ID Face Skeleton as the source skeleton [in the Import options].

I hope this helps!