How to get rid of joint local rotation axis in Maya

Problem: joints orientation looking good in Maya, but when imported to Unreal local rotation became zero (world aligned).

axis maya

It’s probably related to the fact that both joint orient and rotate axis are set.

maya2

Reorienting joints using cometJointOrient tool removes rotation axis, so joint local axis looks the same in Maya and Unreal. Unfortunately, cometJointOrien also recalculates joint orientation from scratch, so original orientation will be lost. Is there a way to somehow “bake” rotate axis into joint orient, i.e. set rotate axis to zero and modify joint orient to restore original orientation?

In fact, there is a way, found looking in cometJointOrient source. First, select all joints you want to cleanup, then run this script:

joint -e -zso ;
makeIdentity -apply true ;

Result:

maya3.PNGmaya4

Looks same as before, rotate axis is zero, and now it will also rotate the same way in UE and Maya.

Tags:, ,
16 Comments

Leave a Reply to stan Cancel reply

Your email address will not be published. Required fields are marked *