Blender Shape Keys to Audio2Face

Using the Blender 3. Alpha Exchange USD branch.

I’m not able to export from Blender using the USD with the Blendshapes on the mesh.
I can export an .fbx and convert that with BlendShapes intact but when I try to Mesh fit I cannot draw lines to the imported Mesh as usual - it’s like the mesh isn’t there so possibly a scale thing.

1 Like

Hi @andrew.whitney, welcome to Audio2Face.

  1. When you mention “blendshapes on the mesh” in Blender, you mean the “shape keys”?
  2. Can you attach the .fbx or .usd file that you used? It will help us check the issue.

thanks!

Hi - thanks for the response and sorry for the delay - it’s half term here .
Yes I do mean shape keys.
Please see a link to all files I’ve tried. These are exports from the Blender USD branch :
https://we.tl/t-9Rz4hAP7qg

Included in the file is the original Blender test face with Shape keys - a Few USD’s I’ve tried exported from Blender.
A folder with a .FBX that was converted to USD from A2F. FaceItTest.usd

Hi @andrew.whitney
I checked with our Blender team and confirmed that Blender does not export blendshapes (shape keys) properly as .usd at the moment. The feature is not implemented yet, but they added that as one of the to-do features.
Also checked your files, and unfortunately none of them is ready for audio2face blendshape conversion. The one from .fbx → .usd is the closest, but it doesn’t have a skelAnimation prim, so can’t be used directly (we can fix this dependency in the future release).
In the meantime, if you have an access to Maya, you can probably use it to get .usd file that is usable in audio2face. I found your .fbx file can be loaded into Maya and the .usd from Maya is working in Audio2Face.
blender_andrew_test.usd (3.4 MB)
I’m attaching image and the .usd file from Maya.

1 Like

Cheers for looking at this - haven’t got Maya but will play with 3ds Max :) into A2F

1 Like

The development team is working on adding this feature. (Internal Ticket OM-39725)

1 Like

Hello. Any updates on this?

@user50816 Please check the latest blender version on the omniverse launcher : prod-Blender 3.4 alpha USD branch
It nows support importing/exporting blendshapes

when exporting, make sure that you enable the blendshapes options in the export settings :

image

hiya this seems not to work still, I’ve exported with the 3.4 alpha usd branch, and blend shapes checked, the blend shapes in blender all have the correct naming convention and work as expected, i import into audio2face with the basic default scene and do the setup blendshape mesh in A2F data conversion. it recognises all the blend shapes by the look of it but nothing is synced and you cant export to json. any ideas ?

fyi i tried reimporting the exported usd file back into blender and the shape keys are there with the correct values

Sorry - just to clarify - these are animated blend shape.

yes I’ve set the 0-1 range up for the range of motion I want for each of the 46 expressions audio2face expects and then just want to map the default model to that. its this workflow here (233) BlendShapes Part 2: Conversion and Weight Export in Omniverse Audio2Face - YouTube except using blender rather than maya to create the blend shapes. (Unless I’ve completely misunderstood something!)

I can get blend Shapes into A2F & out to Blender.
What I haven’t been able to do is get an animated (a talking Head from a2F) back into Blender with the animation intact. I’ve always had to use the json script. I thought that if A2F could export the Blendshapes on a mesh it would also be able to send the animation data from the blendshapes ? Just wondering if this is happening for others ?

I was going to use the json script on the return journey, I cant get the A2F data conversion piece to work it looks like it should and the names i can see match the names on the video but it wont sync for me. have you seen a default target mesh with blend shapes set up or an official list of the blend shape names, I can’t see a lot of detail around searching.

The workflow I’ve adapted is to bring the mesh into A2F and generate the blendshapes in A2F automatically. This it does well. (Although scale from Blender is an issue). See the Nvidia Omniverse Discord for help on this.
The directory below which should be on your localhost contains a default head with Blendshapes.
image

1 Like

thanks so much! it really wasn’t obvious i needed to install a separate nucleus server to access the shared drives then there was a demo file in there, that was all a bit clunky but got there with your help!

so for what I’m doing I can just use that default mesh to capture the shape keys export it as json and then use that in blender and I can set the shape keys in blender to be as extreme as I want or non humanoid etc. as long as the names match.

I’ll quickly see if I can quickly figure out why the export wasn’t working now I have a working usd file with the blend mappings in it to compare to.

the shape keys are just basic i didnt spent any time on them until i could get workflow up and running.

Yes - in the directory structure there is a file with the A2F setup - you can use that and export json file - then use that in blender to transfer shapes.

The blendshape workflow is also quite good : BlendShape Generation in Omniverse Audio2Face - YouTube