A simple FBX batch export script, useful for exporting multiple animations from a single file. You can download the .py file here. It should be noted however that this script isn’t tested anywhere near as much as it should be, so back up your work before running it.
# James Kyle 12/3/13, http://www.jameskyle.net # Maya to UDK batch exporter script # Contains code borrowed from Mark Jackson's blog, which can be found here: http://markj3d.blogspot.co.uk/2010/09/exporting-simple-skeleton-and-mesh-data.html # Warning! # This is probably a bit buggy and isn't tested. Save your work before you use it! # I take no responsibility for any data lost as a result of this script. Use at your own risk! 🙂 # Instructions: # Edit the Tuple data below with your own filenames, start frames and end frames. # Select the mesh/meshes and the root joint of the joint hierarchy you want to export. # Run script! # Important importing... import maya.cmds as cmds import maya.mel as mm # Lists of animation names, start frames and end frames. # Add/remove as required. exportNames = ("BE_idle", "BE_fistBump", "BE_pickup") exportStartFrame = (1, 32, 300) exportEndFrame = (23, 70, 333) # This code selects the joints and meshes only. This isn't my code! # Original author credit at the top of the script. meshes= joints=cmds.ls(sl=True) #find all joints joints.extend(cmds.listRelatives(type='joint',allDescendents=True)) #find your Skinned Geo for skin in cmds.listConnections(joints,type='skinCluster'): if skin: shape=cmds.skinCluster(skin,query=True,geometry=True) meshTransform=cmds.listRelatives(shape,parent=True) if meshTransform not in meshes: meshes.append(meshTransform) # Borrowed code ends here. for x in range(len(exportNames)): print exportNames[x] # Select the mesh and joints to export cmds.select(joints,meshes) # FBX Exporter options. Set as required. # You can find a reference guide here: http://download.autodesk.com/us/fbx/20112/Maya/_index.html # Just add/change what you need. # Geometry mm.eval("FBXExportSmoothingGroups -v true") mm.eval("FBXExportHardEdges -v false") mm.eval("FBXExportTangents -v false") mm.eval("FBXExportSmoothMesh -v true") mm.eval("FBXExportInstances -v false") mm.eval("FBXExportReferencedContainersContent -v false") # Animation mm.eval("FBXExportBakeComplexAnimation -v true") mm.eval("FBXExportBakeComplexStart -v "+str(exportStartFrame[x])) mm.eval("FBXExportBakeComplexEnd -v "+str(exportEndFrame[x])) mm.eval("FBXExportBakeComplexStep -v 1") # mm.eval("FBXExportBakeResampleAll -v true") mm.eval("FBXExportUseSceneName -v false") mm.eval("FBXExportQuaternion -v euler") mm.eval("FBXExportShapes -v true") mm.eval("FBXExportSkins -v true") # Constraints mm.eval("FBXExportConstraints -v false") # Cameras mm.eval("FBXExportCameras -v false") # Lights mm.eval("FBXExportLights -v false") # Embed Media mm.eval("FBXExportEmbeddedTextures -v false") # Connections mm.eval("FBXExportInputConnections -v false") # Axis Conversion mm.eval("FBXExportUpAxis y") # Export! mm.eval("FBXExport -f "+exportNames[x]+".fbx -s")