Home Website Youtube GitHub

UE 5.6 - Metahuman DDC export has new joint naming

Heyo, figured I’d mention it here before someone else brings it up as a bug:

With the new UE 5.6 Metahuman creator updates, it seems like Epic is deprecating the old Quixel export method. (You’re even suggested to uninstall it, as the new MetaHuman importer / “Character Assembler” in Maya has some package/include conflicts with the Quixel importer.)
https://dev.epicgames.com/documentation/en-us/metahuman/metahuman-for-maya

But more importantly: When exporting a MH to a DDC from Unreal, they’ve changed the skeletal naming, and general setup.
1: When exporting a whole MH via “Character Assembler”, the joints get combined into 1 body+head skeleton.
2: Body correctives are no longer exported (This feels like a bug/oversight).

And the important bit:
3: Joints no longer have the _drv suffix, so the ‘Snap to Metahuman’ function no longer works.

A quick and ugly fix is to open ../mgear/shifter/io.py:
1: Remove all '_drv' references in the joint lookup in metahuman_snap().
2: And also in the if ("_l_" in b) section ( line 273), remove the last underscore in the strings. (So that "_L_" becomes "_L", etc)

A proper fix might be to check if the root is called root or root_drv, and remove the _drv from the string comparison when looking for joints if it’s only called root.