Collada and FBX

Posted: October 29, 2009 in News

Up until now, I have been using the .x format by Microsoft, and the .obj format by Wavefront (I believe). Where .obj can be exported from pretty much any 3d app, and .x can be exported via plugins such as PandaSoft Directx Exporter. But I also wanted to see what else was open to me. The most obvious, and most powerful solution is to write my own exporter for either 3dsMax or Maya, but having no experience with their scripting languages, I wanted to take another route for the time being. So decided to take a look into Collada and FBX. Both of which seem to offer the same functionality, the only real difference being the way you work with their SDK’s, so I thought I’d try them both. First off, Collada has 2 options, Collada DOM API and FCollada, I didn’t really try FCollada, but spent a good few days with the DOM API, and managed to easily import my data. My only real problem, was that it was SLOW. Seeing as collada data is exported as XML, it’s quite expensive to parse. Now the idea with these file formats is not to actually use them for your games, as they generally contain a lot of extra information you don’t need, so its extra parsing that is simply not required. The idea is that you use them as an *intermediate* file format, from your 3d application of choice. You then write your own conversion code to convert them into your own custom format, that only contains the data you need, in binary format.

3dsMax -> ExportCollader -> output.dae -> CustomConvertor -> output.customGameMesh

And so converting Collada files to my own format is going to be a slow process, which is not a huge problem, as it won’t be done that often, but still, I wanted to check out FBX. Now I found FBX a lot cleaner to work with, as the example files and documentation is better in my opinion. And also, with FBX you have the choice of saving the files in either ASCII or Binary, which is an advantage. The library files are also a lot smaller, and so out of the two, im currently working with FBX.

Although working with these API’s is an option, it’s still an annoying intermediate stage, and the conversion process could be gotten rid of by just writing a 3ds Max Exporter in the first place, which as previously mentioned, is something I plan to do one day. Look, its a crazy dude made from orientation thing-a-ma-jigs dancing to some Primus!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s