Blendshapes for facial hair

How can I create morphs for the facial hair of a character.

I have created the morphs for the face, with the WRAP UI I can make them fit their animation, but I am not clear how to generate the morphs for the facial hair.
Thanks in advance.

PirateSceneAudioWrapui.usd (18.0 MB)

Hello @planet_german! I contacted the development team to help answer you questions! We should hear back from them shortly!

Hi @planet_german ,
The blendshape transfer feature is currently locked to only work on the mesh with the character transfer.
However, there’s a workaround you can do that I show in this video.
You’ll still need to take this result USD to other DCC to use these generated meshes as blendshape target manually.

Check out this video here:

And the script used in the video

import asyncio
from omni.kit.charTransfer.tools import transfer_blendshapes
a2f_path = "/World/mark_template_v001/mark_model/mark"
topo_path = "/World/allison_v001/allison_models_grp/m_head_mid"
out = []
asyncio.ensure_future(transfer_blendshapes(a2f_path, topo_path, out))

Hope this helps :)

Hi esusantolim,
I must be doing something wrong, I have tried many times and I don’t get the expected result.
1_ I import the beard.
2_ I convert it to stamp mesh and rename it.
3_ I make the wrap.
4 I run the script editor. Copy the script and add the path of the static mesh of the beard.
5 I run the script, but it doesn’t generate the morphs for the beard.

Hm…
Is there any error message on the script editor when you execute the script??
Does the beard move if you attach A2F to Grey Mark and scrub the audio time?

2022-05-03 19-14-41.mkv (13.7 MB)
I recorded a video with my actions and below is a image of the console warning/errors.
The beard move if I attach A2F to Grey Mark.

Hi @planet_german ,
Sorry for the late reply.
From the error, it said A2F mesh prim is invalid.
Looking at the capture you have, it looks like your A2F path is not pointing to the “/World/charTransfer/mark”
is there other A2F mesh in the scene?

1 Like

Thanks, @esusantolim this works for me.