How do I re-position a rigged and weighted mesh for export?

Hello everyone,

I hope this question hasn’t been asked here before, but it probably has (I couldn’t seem to find an answer after looking for a while. So please forgive me if this is a duplicate.). I posted this question on CGTalk here. but it’s been a few days and I still haven’t managed to figure out the best way to solve my problem. Hopefully a member of the Unreal community may be able to help.

I have a 3D mesh of a low-poly hand in Maya that I have already meticulously skinned, rigged, and weight painted exactly as I like it.

Unreal Engine 4 requires animations to be exported from the mesh facing in the +X direction. I completely forgot about this while building, skinning and rigging my hand, so my perfectly working hand is facing in the -X direction.

What is the best way for me to go about mirroring this hand mesh, the skeleton, and the weight painting across the YZ axis so that my hand is still identically functional, but facing the proper direction?

I’m using Maya LT. Really appreciate any help.

Export skin weight map:

Unbind mesh from skeleton.

Parent root bone to a group transform, rotate the transform 180°.

Freeze joints rotation:

Unparent root from transform group.

Select root joint, type in MEL cmd input:

dagPose -bp -save;

Reskin mesh to skeleton.

Import back skin weight map:

Thank you so much. I’ll give a follow-up when I’m done to let everyone know how well it worked. You’re a lifesaver.

UE4 doesn’t really require animations to face in +X. I use +Y (Blender default) and I think a lot of other people do too. To get the character to line up in BPs you can just rotate the mesh so it faces the direction of the arrow component. You can also rotate the mesh/animations on import if you really want to.