FBX Split Exporter

FBX Split Exporter for Autodesk Maya

Supported versions of Maya: 2013+

Originally just a FBX batch exporter tool that I started writing for work, as I found myself adding more and more features to make it more and more robust and able to support all sorts of crazy rigs, I decided to make it completely agnostic to our game’s workflow (Unity 3D).

Scroll down to have an overview of what it does and how you might find it useful for your own nefarious purposes.

Features

Automatically detects all rigs in the scene (based on configurable rig presets) and allows animators to define ranges of animations to be saved to takes. You can define separate takes for each character in the scene, as well as having some extra options for exporting to engines. Say good-bye to the days of animating a single action in 3 separate Maya scenes and exporting them to FBXes separately!

When you’re ready, simply decide if you want to export all your animations at once as separate files, or a single file utilizing FBX takes to define separate frame ranges internally. You can also re-export just the selected take, or forgo the take system entirely and just export whatever your timeline is set to! [/suchexcite]

Define custom rig presets for use globally or specific to the current scene. Or use one of the many (read: only one for now, but more to come as I get to it) pre-defined rig presets that are guaranteed (read: probably) to work out-of-the-box.

As long as your rig has a deformation rig (XSI users may know this as a shadow rig) separated out from its control rig, a group node that holds all the geometry nodes, and a control that you know you will be setting keys on, you’re good to go!

(Blendshape support is planned in a future release. And no, it’s not as simple as just enabling shapes export in the FBX exporter; not all game engines recognize that anyway.)

Preview your animation from a custom window designed to minimize unnecessary clutter when reviewing an animation, or open the actual FBX files themselves directly from the same tool and save edits made to the files, all without having to worry about troublesome FBX import/export settings.

All presets and associated setting files are stored separately as JSON-formatted files, which means you can edit them easily and never fear having your original scene data put at risk!

Get it!

I’m releasing all my code for this tool, along with several other rigging utilities that I’ve made to make my life easier, all on BitBucket (Git). Click the big button to go to my repository!

Alternatively, you can download a ZIP archive of my tool as well, but cloning my repository is the best way to ensure you have the latest bugfixes (and bug-introduce-es) for all my tools!

Use it...?

More detailed documentation coming soon…

Installation:

You’ll need PyQT4 installed and available to Maya’s python path.

You can use the pyqt.pth method or just copy the PyQT4 and uic directories right into your installation of Maya at the following location:

C:\Program Files\Autodesk\Maya%version%\Python\Lib\site-packages

After that, simply import stk_naAnimTools as a python module and run the show() method. For example, if you unzipped the whole folder to:

C:\Users\sonictk\Documents\maya\2014-x64\scripts\python\

Then, you need to add that path to your sys.path. The simplest method is to create a file called userSetup.py in:

C:\Users\sonictk\Documents\maya\2014-x64\scripts

And in there, you add the following lines:

import sys
 sys.path.append(r'C:\Users\sonictk\Documents\maya\2014-x64\scripts\python')

Then you should be able to import the rigTools folder as a module by simply running the following command:

try:reload(NA_AnimTools)
except:import python.dev.rigTools.stk_naAnimTools as NA_AnimTools

NA_AnimTools.show()

Rig Preset set-up requirements:

You should ensure that your rig structure is separated into a control rig, and a shadow rig. The shadow rig should only have joints in its hierarchy, while you can do whatever you want with the control rig itself that the shadow rig is constrained to.

Your geometry with skinClusters should be in a seperate group node.

Finally, you should have at least one nurbsCurve control that can act as a control you will be setting keys on when animating your rigs.