This is my favourite track from VVVVVV – Pushing Onwards from the album PPPPPP. It;s probably my favourite tune from any indie game in the last few years.
The first version of my FBX batch exporter is up on Creative Crash. You can download it here. The exporter references your Maya files, selects the joints and meshes you want to export and exports animations too. As it’s a very early version there may be bugs, so back up your project before use!
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")
Just a quick post to add this video to the site. It’s a short animation of a german suplex, a popular move from professional wrestling.
The timing could be adjusted to add a little more weight. The green guy seems a little light but that aside I think it’s okay. Feedback is always welcome!
Here’s a video of the move being performed live, so you can see what I was working towards.