Metahuman head issue when applying Marketplace animation

I donwloaded an animation from Marketplace (MCO_Mocaps_Basics), but my Metahuman head floats above the body when the animation is applied. It moves, but the position and the scale of the movement are sort of offset. How to fix it?

1 Like

Me too! When I applying an animation to the face while the body is moving by any other animations, the face and the body will be detached!
This will not happen in the sequencer, only in the editor.
My engine version is 5.0.3.

Any solutions?

Hey, I found a solution.

What’s happening here is that since all metahuman bodies are all driven by the normalweight female skeleton rig in the common folder, there’s a size difference between where the head should be of a m_nrw_body and a f_nrw_body, same goes for any other body type. The head mocap is also being driven by it’s own skeleton not being retargeted by the f_nrw_body, which is why it’s misaligned.

plugwalk

So the head has all this transform data and all this transform and rotation stuff is being applied on top to the thousands of facial bones, How do we get rid of it?

We’re gonna bake the control rig.

First, we’re going to have to set our default animation mode. Select your metahuman blueprint from the content browser.

Next go to your face within the blueprint, and set your Animation mode to “Use Animation Blueprint” set your Anim Class to whichever Facial Animation Blueprint you have. In my case its ABP_FW_Metahuman_Face since I recorded my data in Faceware Studio. Then Save and Compile.

NOTE: It could have some odd name that relates to the animation pack you downloaded, so just look for what you downloaded or recorded and try to find that animation blueprint in the scroll tab. You’ll know it’s the correct one if the animation shows on the metahuman in the next segment. If not, just change it until it works.

Now exit out of the blueprint and Drag your BP Metahuman character from the content browser into the sequencer as a spawnable object and delete the metahuman control rigs.

Apply the animation you want using the track buttons. I’m using data I recorded from faceware, and the blueprint that came with it (which I highly recommend for any facial retargeting it does 90% of the work for you)

Now, the metahuman should have that Maximilien Robespierre look. Don’t worry, we’re gonna fix that.

Right click on FACE (just face, not animation) and select “Bake To Control Rig > Face_ControlBoard_CtrlRig”. DO NOT SELECT “simple_face_CtrlRig”

Keep all the settings default. DO NOT reduce keys it will literally take 2 hours if you keep that box checked.

Alright, now we got rid of all those dirty transforms. The head should be just in place above your last animation, with the face doing it’s animations. If it’s not at the last animation and instead at the origin (0,0,0), that means your animation blueprint is off. If so, click the spawnable object in the sequencer, go to face and make sure it’s set to “Use Animation Blueprint” and then set whatever your Facial Animation Blueprint Setup is.

Now we’re going to bake the body, right click body, then turn off “Filter Asset By Skeleton” then select “Bake to Control Rig > Metahuman CtrlRig > Create”

And boom! Issue fixed. The upside of this is now you have a spawnable, editable facial rig to play around with. Have fun!

Protip: to make the facial gui move with the head of the character, go to the sequencer, open up your baked facial animation using the dropdown, and scroll all the way down to FRM_faceAndEyesAimFollowHeadGUI. Delete all the keyframes then set to a value above 1 and now the gui will follow the head making it much much much eaiser to tweak facial performances.

MY GAME THEORY AS TO WHY THIS HAPPENS:

All of that head transformation data is there specifically so that it runs properly when you do live-mocap, it’ll look perfect in live-time since it’s running off of a retargeted skeleton, but as soon as you turn off the live retargeted skeleton you’re streaming from whether it be from motionbuilder or maya, it’ll revert back to the f_nrw_body causing the head gap. But that’s just a theory, a game theory. Thanks for reading :slight_smile:

3 Likes