Export from Maya Import to Max FBX

Export from Maya Import to Max FBX

Anonymous
Not applicable
514 Views
2 Replies
Message 1 of 3

Export from Maya Import to Max FBX

Anonymous
Not applicable

Hi,

 

I wasn’t sure where to post this – in Maya or Max forum.

 

  I am having an issue here where my model gets deformed after exporting from Maya and importing to Max. I have exported my animated FBX as needed – by selecting joints and skinned meshes. Tried exporting from a new scene in Maya - nope. As well I have tried ungrouping the main joint and meshes, that didn’t work as well. I have checked the scale and positions of controllers as well as joints – everything seemed to be fine in Maya but once i import the model into Max, it doesn’t seem to be as it should be as its arms are completely squished.

Would someone know how what might be happening here?

 

Thanks,

 

AdamS

 

 

 

1.jpg2.jpg3.jpg

0 Likes
515 Views
2 Replies
Replies (2)
Message 2 of 3

Kahylan
Advisor
Advisor

Hi!
Its hard to tell from just 3 pictures, but it looks like the joints in the arm are loosing the translation or scale on their main axis. Maybe because they are frozen or because there is some kind of stretchsetup on there that Max reads different.

What you could try to brutforce it is the following:

Make a savety copy of the file.
In there you create a Locator for each skinningjoint and constrain them to their respective joints.
You can do that by selecting all skinning joints and then executing this script:

 

import maya.cmds as mc

sel = mc.ls(selection = True)

locGRP = mc.group(name = 'baking_locators_GRP', em = True)

for jnt in sel:
mc.select(cl = True)
loc = mc.spaceLocator(name = '{0}_bakingLOC'.format(jnt))
mc.parentConstraint(jnt, loc[0], mo = False)
mc.parent(loc,locGRP)

This should have created a group called 'baking_locators_GRP'.

Select all locators in this group and bake their animation. (Animation Toolset-> Key-> Bake Animation)
When you are done baking, select all skinning joints and parent them under world (Shift + P) and break connection on all their keyable channels.

Now if you playback the animation, the rig shouldn't move but the locators should.
Then parentConstraint each Joint to their Locator.

You can do that by selecting all the Locators and running this script (if the Locators were created with the first script):

import maya.cmds as mc

sel = mc.ls(selection = True)

for s in sel:
c = mc.listRelatives(s, c = True, s = False)[1]
print(c)
mc.delete(c)
mc.parentConstraint(s, s[:-10], mo = False)

 

Now everything should move as it did before but the joints are freefloating and in worldspace.
This is not a great solution, but if you don't need to further animate the rig in max, this should solve the problem, since it eliminates all possible node connections that could be problematic

If you want to be extra sure you also could also bake the animation directly onto the joints again.

Hope this helps

0 Likes
Message 3 of 3

Anonymous
Not applicable

Thank you for your help!

I have updated Max from 2021 to 2022, just like Maya and imported animation via send to Max, all looked great.

0 Likes