Home Website Youtube GitHub

Unreal Mannequin orientation discrepancies

I’m digging in to using mGear for work in Unreal and checking out the new Epic components. I noticed some orientation discrepancies between the skeleton generated by mGear and a fresh fbx Mannequin export from Unreal. Is that intentional?

Chad Vernon

Hello @Chad_Vernon !
Nice to see you here :smiley:

yes, there is a little offset due to the way we calculate the roll and some tangents. Is it an issue to have it?

A little bit. A lot of times people will get animation packs or skinned meshes from the Unreal Marketplace which are designed to work with the default Mannequin bind pose. If this rig generates animation with the orientation offsets, there will be some unexpected deformation changes. If we generate and import the Unreal skeletal mesh from the mGear skeleton, it would mean most animation from the marketplace would need to be retargeted and skeletal meshes would need to be exported and reskinned at this bind pose.

I tried adjusting some of the guide rotations but that didn’t seem to effect the joint orientation much.

There are some workarounds if it would be too hard to match orientations such as constraining a deformation skeleton to the mGear skeleton.

1 Like

Thanks for the feedback @Chad_Vernon
Can you point me to a good pack to test? (There is a tone of packs, and not sure which will be good)

I will test and adjust the orientations ASAP. This topic is important for me.

You don’t necessarily need an anim pack to test, just the fbx of the bind pose exported from Unreal. I would attach the fbx here but don’t see a way to create attachments. Maybe I can email it to you? Here is a sample of importing the mGear bind pose (with joint orients zero’d and baked to rotation) on to the default mannequin bind pose.

One thing to keep in mind for game workflows is that bind pose does matter. You import the skinned mesh at a bind pose into the engine and then all animations are relative to that pose. If you change the bind pose, you need to reprocess all your animation (unless some joints are driven at runtime). The default mannequin already has a bind pose that most people expect. This won’t matter so much for people making their own characters but if you are providing a template you want to work with the default mannequin, the bind pose should match. That also includes twist joint locations.

1 Like

@Chad_Vernon I see, Please send me an email. You should have it from when we did the podcast :slight_smile:
Thanks a ton!