Custom metahuman face asset not working?

Hello, I’m trying to create a face mask working with metahuman face.

I used the full_rig in maya, skinned all of the DHIhead:spine_04 joint hierarchy to my mesh, copied weights from metahuman face, then connected face joints to DHIbody:root so it’s one joint hierarchy, deleted all constraints and imported into unreal, to face_archetype_skeleton.

Then I opened the skeletal mesh, copied all the asset user data, DNAasset etc. from the metahuman face skeletal mesh. I added my skeletal mesh to metahuman blueprint, but when I added animation blueprint Face_AnimBP, it started stretching for some reason. I also tried using LiveLink and I mean it’s doing something, but it looks very bad xd Anyone knows how to set this up properly? Thanks



UnrealEditor_lSthit3rAj

Definitively copy weights wasn’t done properly in Maya, and most likely ( because Maya ) some vertex are skinned to the root, that’s why you see some of them stretched.
Try the different options ( closest point, raycast or closest component ) to see if that is the issue.
Check in Maya the skin weights and use some of the cleanup tools ( prune small weights, hammer, normalize ) to see if the vertex issue is fixed.

2 Likes

Thank you for the reply.

I tried doing all of the options of copying weights and also the cleanup tools. It mostly looked the same (stretched in the similar areas around the mouth). I also tried using ngSkinTools plugin for copying weights and exporting in older fbx format, which gave me a slightly better result, but still It was stretched.

So finally I tried including all of the joints for the skinning, not only DHIhead:neck_01 hierarchy, and that’s what fixed this issue. Nothing is stretching anymore.

However, when I used livelink, the mask kind of rotated in the neck.
In my livelink app, I turned off the “stream head rotation” but it still didn’t fit.

UnrealEditor_XsVaQnQTIi

For anyone having this issue aswell, this is how i solved it :

Go to metahuman blueprint and copy the function ARKitFaceSetup.
ShareX_1IDBQM8Z6L

Replace the “Face” mesh with your mesh.

Plug the function here:

2 Likes

Do you mind telling us how to copy and paste the information so that the mask would move in the first place.

I followed all the steps I can find online but my surgical mask refuse to move with the mouth.

I would really appreciate it, thank you.

Hello :slight_smile: I downloaded the metahuman rig to maya through quixel bridge, i selected the whole DHIhead skeleton of the metahuman and skinned the joints to my mask. Then I copied the weights from MH face to the mask, smoothed it a bit so it fitted and looked better (you can test the facial poses in maya because the rig is there) and then exported the mask with the skeleton to UE

Hey there!
I’m trying to do a similar thing and am struggling with setting this up in unreal. (I’m also new to unreal in general so bear with me please)
In your original post @a-marthina you write that you
“[…] opened the skeletal mesh, copied all the asset user data, DNAasset etc. from the metahuman face skeletal mesh”
how exactly did you do that?

Following your steps and any other I could find on the internet I did the following:

  1. Import the metahuman rig into maya using the Quixel Bridge export
  2. added my custom geo to the scene
  3. skinned the geo to the DHIhead joints (all of them)
  4. copy over the skin weights of the head LOD0 to my custom geo
  5. parent the DHIhead:spine004 under the DHIbody:spine003
  6. unparent thigh joints and DHIbody:spine004 and delete all constraints in that hierarchy
  7. select my custom skinned geo and all the joints that are now under DHIbody:root and export selection (including anim but not baked, smoothing grps, blendshapes, skincluster)
  8. import that fbx into unreal with geo and skeleton, using the face_archetype_skeleton

Now I tried to compare the original metahuman face skeletal mesh with my new one, but I can’t seem to get all the settings correct.
For one, when I try to add the DNAAsset the fields for the settings like the “DNA File Name” are greyed out and I can’t add anything.

I would be so incredibly thankful if you could provide a little more detailed description of how you got the asset to work in unreal. Basically what are the exact settings that the skeletal mesh needs to receive in order for it to work?

because even after I tried all of the above and added the skeletal mesh to the metahuman blueprint, loading it into a sequence, the rig doesn’t drive my geo. In the skeletal mesh the joints do drive the geo, which I tested by just dragging the joints in the skeletal mesh view and the geometry follows, but the face rig does not drive the joints.

Thank you already for reading this and again you would be saving me if you could help me.