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.

12 thoughts on “How to get rid of joint local rotation axis in Maya

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s