I am trying to find out which 3D exchange format is better to use in a 3D library. The format has to support textures with alpha channel, shader and animation. I researched the possibilities and my favorites are FBX and DAE. I tried Google to find out, which one is used more widely and preferred by artists and programmers, but the stuff I found is at least a couple of years old (mostly forums and blog posts).
[font=Arial]The library will be used with OpenSceneGraph and as far as I know, it doesn’t support dotXSI. I won’t do the programming (I’m just the intern that researches the pipeline), but I guess someone could write an importer. But is that really necessary with Collada and fbx explicitly being exchange formats?[/font]
My personal opinion of the fbx sdk & plugins is extremely low. It’s buggy. It’s closed source. It breaks with each new version. It’s horrible. I wouldn’t even recommend to people I hate! The only library for which I have a deeper hatred, is OpenSceneGraph. If you can cut OSG out of the project, I’d strongly advise that you do so…
If you absolutely have to choose between collada or fbx, collada will be your best bet. Don’t trust the data though. There are some nasty gotchas when you compare the data exported from max/maya/xsi, so be sure to do a lot of testing!
Thanks a lot for the advice!
I’m not making any decisions around here, so OSG won’t go away. I’ll have to do the testing anyway to get some good arguments for or against either format. It will by part of my bachelor’s thesis, so I can hardly write, that somebody on the internet just told me to choose collada ;). But it’s good to know what to expect.
I’m with Robert here.
FBX not only is propietary, closed source, fraught with copyright issues if you ever need to re-distribute to third parties (say outsource a sequence), and generally poorly documented, which makes it inherently risky.
It’s also limited, buggy, troublesome, and often mis-aligned between AD’s own products.
FBX makes a smidge of sense only when dealing with motionbuilder in my experience.
Collada isn’t a huge deal better in many regards, but at least it’s richer and not a propietary format that might be swept from under your feet at a moment’s notice.
Both have milk-curdling bad animation formats in general, and both do a poor to non-existent job of exposing a scene graph for you, which it seems your employer knows about given OSG being in the picture.
OSG was there first, now I’m trying to find the right format. FBX and DAE were just my favourites after comparing which formats the major content creation tools can export and OSG can import.
I am open to suggestions :).
Yes, they all have bugs, some worse than others, but if you want to get up and running in the shortest time,
then I would recommend FBX, because of its SDK examples. There isn’t a ‘real’ Collada SDK out there that’s
anywhere comparable with it. I wouldn’t even call Collada a SDK. As for dotXSI, well, if someone exports
IK, your animation will be screwed, so not much better there either.
Afterall, isn’t that what a SDK should be about? I don’t need source code, and I don’t want to waste my time
trying to understand every intimate detail about it. I want to spend my time on a much higher level, building
and putting things together. A SDK should be just another tool.
What exactly are the requirements? Are you going to use the file format for exchange with other applications, and if so, what are they? Do you need support only for plain polygons or do you need NURBS, subdivision surface and other higher order surfaces? Do you need to store application-specific data, such as render settings? What platforms to you need to support and what programming languages?
As it turned out, somebody in the development department already made the decission to use Collada :curious:. So I just did some testing with creation tools and ended up with Maya and the OpenCollada exporter.
In general we wanted to have polygons, textures, GLSL and, if possible, animation. I was told, that additional data will be stored in the files as well, but I don’t exactly know what kind of data that will be. I think, that was one of the reasons they went for Collada. When I first asked this question, I didn’t know about that. I guess, being able to store the GLSL code in Collada is a plus, too. I don’t know how fbx handles this, since I know Collada will be used, I didn’t look into fbx any further.
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.