Download

Combine Morph Targets from Separate Meshes

I have separate meshes on a face, in Maya, each with there own set of blendshapes for a given pose (example: BrowUpPose = HeadMesh,BrowMesh,eyeLashMesh,etc.)
How do get these to be a combined shapes inside of unreal? I have done this before but cant remember for the life of me, how i set it up.

I have them all named as the same target shape in maya (BrowUpPose). They are within there own mesh hierarchies so the nice name will be redundant.
If u look at the Unreal FaceARSample, u can see this is being done there. The Morph target shapes will drive multiple meshes with a single curve.

I ended up writing a post process script in my rig export that will merge, skinClusters and Blendshapes, so the head is now self contained into a single shapeNode, with a single Blendshape Node. But would still love to know if there is a way to cheat this on unreal import to deal with multiple blendshape nodes.

If your blendshape weight names are same on several meshes (separate blendshape nodes), they should be automatically combined on import to UE4 into one morph target.

I ran into this same problem trying going from Maya to UE4. I have three separate meshes, each with its own blendshape node. Each has matching set of target shapes, same names, and same ids. Export to FBX format, and import into UE4 (only skeletal mesh, no animation). The results are not good. Only one list of target shapes is available in the Morph Target Preview panel in Persona. This seems correct at first glance, if all three blendshape nodes were merged into one. Unfortunately, when I change the slider values for a target shape, it has not merged them correctly. It seems to affect multiple different morphs from each of the original blendshape nodes (as defined in Maya).

It’s unfortunate that there isn’t really a way to debug this, and little to no documentation about the blendshape import process.

It’s common to have separate geometry for blendshape nodes in Maya on a character rig. It would be nice if this worked to import into UE4. As it does not, I’m going to have to do the same as Skealeye did - write a script to merge the geometry prior to export to UE4.

Hopefully someone has a fix for this or suggestions how to proceed. Thanks!

Are you using 4.23? Unreal does merge morph targets from multi-mesh FBXs just fine, but they broke something in 4.23 which messed up morph targets on import and it wasn’t fixed until 4.24

Thanks for the response, Mlindborg - I’m using 4.24.

I think this issue may be due to Maya’s representation of shape ids within a blendshape node. I exported the mesh with only one blendshape to FBX, then imported back into a clean Maya scene. The results have mismatched target shapes which seem to be off by one index (the 10th shape slider should actually be the 11th).

I found this other forum postindicating it may be due to gaps in the target shape index list for a blendshape node. Perhaps a target shape was deleted at some point, yielding nonconsecutive target shape indices. Kind of annoying that Maya doesn’t re-index them. This could explain the problem with merging multiple blendshape nodes in UE4. If they don’t have consecutive indices per target shape, then the merging of target shapes by name in UE4 will have mis-matches.

I do a lot of deleting and recreating targets within blend shape nodes and I haven’t had any issues with that. Are you using the shape editor to add and remove targets?

I resolved the issue by moving all of the morph targets to a new blendshape node, then transferring all keyframes and deleting the old blendshape node. It must have been the target shape index issue. It was a model imported from another project, so probably an authoring problem. But issue resolved - the target shapes with same names are now merged. Thanks for the help!