COLLADA or FBX?

Started by
16 comments, last by Promit 10 years, 11 months ago

I've been fairly happy using 3dsMax -> FBX SDK for all of our work. It seems to behave far more consistently than anything else, plus the FBX SDK can load Collada and a few other things. The FBX APIs are kind of wonky and it's a hassle to do initial setup, but once it works it's pretty solid.

SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Advertisement

FBX hands down, after writing my own collada loader and fbx loader as part of a personal project. FBX is much much much easier.(For me atleast)

Rob,thanks for this opinion.I decided to use COLLADA,because i don't need anything but 3dsmax...biggrin.png.

That doesn’t make sense. 3DS Max can export .FBX files just as well as .DAE files. What RobTheBloke wrote in reply to my reply is almost entirely inaccurate. For example:

Being able to evaluate animation and geometry deformations does not help you transfer data, it's just another feature that you won't be using within your game.

Transferring data, no, converting data, yes. As mentioned there are multiple ways to handle interpolations in animations, for example between X and X+1 keyframes we use stepped interpolation, meaning we pick either value from X or X+1 and use that the whole way between key frames. And which value we pick (X’s or X+1’s) is a parameter of the interpolation, expensive to evaluate at run-time. Again, you want to reduce this to nothing but linear interpolation at run-time to avoid run-time overhead of branches etc. for various types of interpolations.

That's one of the worst compression schemes available for runtime animation systems. It fails to provide any random access capabilities at all, so you'll be forced to utilise precious memory bandwidth to find the correct keys. It simply won't scale.

Being unable to provide random access to any time within the animation is simply false. Either way it’s a key-frame system. The only difference is that with my suggested way you always know how to interpolate between key frames and there are no branches. Either way, you can always go to any point in any animation—as far as that is concerned there is no difference in run-time overhead or capability.
This reply simply doesn’t make sense, as both methods use key-frames and allow random access. The method I explained avoids run-time branches because the interpolation is known in advance. Knowing the method of interpolation in advance does not prevent random access. It’s simply absurd to say so.


I am sorry if you have decided to use COLLADA. I outline their primary differences in my upcoming book and FBX is, despite its shortcomings, still the way to go. FBX actually has an SDK, for example. Autodesk is also aware that I am adding a chapter about the FBX SDK in my book and have agreed to fact-check it, but at the same time they know this is going to be a published work that reflects back on them, and I believe they are going to fix some of the gripes I have with the FBX SDK. We will see if that actually happens, but in the case of COLLADA we can be certain it won’t. They both have severe shortcomings in a lot of ways but at least there is hope for FBX.


L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

FBX SDK is so much easier to work with than any of the COLLADA libraries. It is also nice with native support for FBX in all Autodesk products. COLLADA support is very poor in most applications. Sure, FBX is not perfect but it's much better than COLLADA.

But i find FBX SDK hard...i don't find any tutorials about FBX SDK. how have you learnt it?

But i find FBX SDK hard...i don't find any tutorials about FBX SDK. how have you learnt it?



there are alot of information about the SDK at the Autodesk webpage about the SDK ,they even give you examples about how you implement them into your source

here are some links that could help you otherwise Google is your Best friend

http://www.autodesk.com/products/fbx/overview


http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=14376160

But is it free? May I use it for commercial games?

The FBX docs are... minimal. The way to learn to use it is basically to follow their ViewScene sample code, which actually goes through all the necessary (and many optional) steps to load stuff. It's not the easiest thing, and I definitely had a day or two of frustration trying to understand what they were doing. Once things fall into place though, it works well.

And as far as I know it's free and fine for commercial.

SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.

This topic is closed to new replies.

Advertisement