Hello fellow mGear-heads,
We are using mGear in an Epic Metahuman based project, but are encountering issues with control rig generation on the metahuman due to having non-zero rotation values on the _drv/export metahuman skeletons. (this is necessary to keep maya Y up while keeping the metahuman rig offset free when exported back to Unreal and aligned with other animations not made directly on that metahuman skeleton.)
Our current issue is that when we load an EPIC Metahuman Y-up template into a scene containing a Metahuman skeleton out of UE, and then build, mGear doesn’t create joints but uses the existing ones, while also resetting all orient values on the metahuman skeleton back to 0. This is a problem since keeping complete orient parity of the rig between Maya and UE so that externally sourced animations and root motion work correctly without offsets in the rig on the Unreal side.
One potential solution is to have an additional skeleton as a ‘middle-man’ skeleton that is zero’d out that mGear attaches itself to and is then constrained to the drv skel. But we’re worried more bones and constrains will affect performance for animators. Alternatively attaching mGear to the skel in Z up and then switching to Y seems viable then rotating the controls to have the 90 degrees offset to work in Yup… but it puts offsets into the hands of the animators which .
Ideally, I’m hoping there is a way to attach mGear to a Metahuman Creator created character but honor offsets, like a constraint rather then how it wires itself in and pushes values back on the source skeleton, akin to Advanced Skeleton and other rig systems. We’re trying to avoid the intermediate constrained rig due to additional evaluation time or the chance of extra offsets animators could accidently reset.
To summarize our questions:
- Has anyone successfully integrated mGear with Unreal Metahumans while keeping Maya in Y-Up? If so, how did you manage the -90-degree rotation offset in UE?
- Is there a recommended way to prevent mGear from resetting joint rotations to 0 when connecting to a pre-existing skeleton like the Metahuman rig?
- Would adding an intermediary skeleton or rig be the best long-term solution, or are there other approaches we should consider?
- Are there built-in tools or workflows in mGear that we might be overlooking to handle these types of scenarios?
Thanks in advance for your time and input!