Should I use FBX or COLLADA?

Started by
20 comments, last by MChiz 13 years, 4 months ago
Both look good to me but I can't decide which one is best for me. COLLADA is open source which is good since I know it will be supported for the foreseeable future no matter what happens but I don't care about that if it is hard to implement and use.

I always prefer an API that has the most advanced features, cleanest code and most documentation over one that is just open source or even cross platform. For example I prefer DirectX over OpenGL for that reason.

I just want something that is straight forward and lets me extract the scene data without a hassle.

Which one would you say is best for me?
Advertisement
I think both are interesting, but overly complex. I haven't used FBX nearly as much, but the overgeneralization of Collada (and the fact that its specification doesn't define a standard method for doing some things like linking animations to bones, at least last I looked) put me off of it.

I wouldn't use either for actual game data either -- they're too verbose. They should be used as intermediate formats, and turned into a more compact and efficient representation for your game itself.
Quote:Original post by jpetrie
I think both are interesting, but overly complex. I haven't used FBX nearly as much, but the overgeneralization of Collada (and the fact that its specification doesn't define a standard method for doing some things like linking animations to bones, at least last I looked) put me off of it.

I wouldn't use either for actual game data either -- they're too verbose. They should be used as intermediate formats, and turned into a more compact and efficient representation for your game itself.


Alright thanks for your opinion! I planned to use my game's format but I just need to get the models into my game engine to convert them. Also, jpetrie, do you think you could take a look at this thread and see if you know what's wrong since you've gotten it to work yourself?
I haven't used Collada, but I have written a tool to convert FBX files to my own binary format. I find the FBX APIs to be pretty confusing. The documentation isn't very clear and it's hard to find concise examples of how to do various things... and it seems like they change things around quite a bit from version to version that can break your tools. That said, I did manage to get something working in about a week starting from scratch (and having never really implemented a skeletal animation system before on my own).

I'll look at your build errors later when I get home (and check it against my code). I do recall having to define a special preprocessor symbol to get it to link properly.

I think the best solution (especially in a commercial setting) would be to just write custom exporters for 3DS Max and/or Maya to export everything the way you want. This is the route I plan to go when I get tired of dealing with the FBX SDK.

Quick answer is: "No, you shouldn't use FBX or COLLADA"

I've not had experience with FBX but juding by the crap job it makes converting 3d models from one expensive app to another I don't hold out much hope for the SDK.

Likewise Collada might not be a bad intermediate format, but you'll need to convert it to binary to be efficient and that leaves you with another format that is full of holes.

Better to just write a plugin or find one that already outputs the stuff you need. Like maybe the MD2 one or something.
------------------------------Great Little War Game
If you want to support non-Autodesk programs Collada is best. I agree what jpetrie said, that it's needlessly complicated, but still there is no better alternative.
Quote:Original post by Rubicon
Better to just write a plugin or find one that already outputs the stuff you need. Like maybe the MD2 one or something.
Yep, like I said 18 threads ago, when this journey began...

just write a python script from Blender to export your bone shapes, and anything else you need.

Quote:Original post by Daaark
Quote:Original post by Rubicon
Better to just write a plugin or find one that already outputs the stuff you need. Like maybe the MD2 one or something.
Yep, like I said 18 threads ago, when this journey began...

just write a python script from Blender to export your bone shapes, and anything else you need.


I don't understand how to get the documentation for the api for 2.55 and this will have been my third revision of my blender plug in. I've wasted moths rewriting my plug in over and over I'm not doing it again plan and simple.
The API has been locked down and is very unlikely to change. The parts of the API that deal with accessing scene data (all you need) hasn't changed, and won't be changing at all. The only parts in flux are the parts that deal with interfacing with Blender's gui and other functionality.
Quote:Original post by jpetrie
I think both are interesting, but overly complex. I haven't used FBX nearly as much, but the overgeneralization of Collada (and the fact that its specification doesn't define a standard method for doing some things like linking animations to bones, at least last I looked) put me off of it.


If you don't have to use either for some reason, don't. You may as well make your own exporter as the collada exporters all have problems anyway and many of the FBX ones have issues as well. If I were making an engine I'd make my own format that is simple and keeps skeleton and mesh data separate and then make a converter from collada or fbx to that data to cover the animation tools I didn't want to waste time supporting directly.

This is my thread. There are many threads like it, but this one is mine.

This topic is closed to new replies.

Advertisement