A long time ago when I was reading about the Khronos Group and enjoying their wonderful open standard specifications I happend upon Collada, an open standard asset exchange specification. The idea behind Collada is to provide a standard intermediate format between the content creation tools (Maya, Max, etc) and the content processing tools that create engine content.
I use Feeling Software’s ColladaMaya and FCollada. Both of these are Open Source allowing me to add extra features when necessary. Instead of dealing with content creation tool file formats and Apis now I can just work with Collada. The process goes something like this: 1) Source assets are exported from the content creation tool to a Collada file; 2) Lots of complicated tools process Collada files into engine assets.
Though it does add an additional step at the very top of the asset pipeline it has some major advantages:
1) The tools programmer only has to learn Collada’s Api
2) Any content creation tool that can export to Collada can be used to create engine assets
3) The FCollada Api is very easy to use
ColladaMaya is very straightforward to use. Simply load it in Maya and when exporting select Collada. ColladaMaya has a number of export options which are easily configurable during export.
FCollada can be used to both create and read Collada files, but most people will use it to read them. It differs from the standard Collada DOM in that it loads the entire file into a tree which can be traversed and queried for data. It is a much easier way to deal with this kind of data. Once I learned the basics of the FCollada Api I was able to create a basic exporter in about a day.
All in all Collada provides much more flexibility to the asset pipeline without tying your asset processing tools to any one content creation tool.