[Bf-gamedev] Proposal to (try to) get better FBX support (Nahuel Belich)

Jens Christian Restemeier jens.restemeier at gmail.com
Wed Sep 17 09:56:17 CEST 2014


>
> I had tweet this question, is it an insane idea? to contact the the mayor
> game engine companies (udk, unity, crytek, tell me another important) and
> others 3d apps to, and start some sort of new open exchange format?.
> Autodesk put the fbx in the market because need to expand conection among
> "their" aplication and even among those, took years to take info correctly
> from one application to another, and the rest took that because it was
> there, im sure that many main 3d sofware companies have similar problems
> trying to deal with the close fbx sdk.
> This where my two cents, for the moment im using blender fbx to export to
> unity but at the same time i dont like to see effort waste in something
> that may change and become obsolete with future changes on a close code
> that its so hard to tackle.
>

That already exists: https://collada.org/
I generally like the idea of Collada, but it has a few major problems:
It is hugely over-engineered: You can write any data that a modelling
application may want to write, and any data that a rendering engine may
need. While that is a good thing for an exporter, an importer has to
support everything and translate this into an application format, or you
would need intermediate tools to massage your data into a format you can
use.
Applications have varying levels of support: There is no reference
implementation (that I know of). The official SDK is only a DOM loader
(last time I checked). It's not as easy to use as FBX where you plug in
your model file and get back a scene graph. I've got a file with a few
separate skinned models that works fine in Maya and Unity3D, but Blender
fails to find the bone-to-deformer info. (I haven't checked if that is
because of my exporter code or a bug in the Blender importer. It fails to
match SID identifiers.)
The shader model is massive overkill: You can include everything from high
level blinn/lambert shaders to a low level cgfx-style rendering description
with passes and render states. And while I like the split into materials
and effects, applications that don't support this don't seem to map this
cleanly to their system.
Collada supports many ways for blocks in a file to reference each other
other even external files. That may be hard to map into an
application-internal format if you want to keep them intact for an export.
Some people I spoke with are not happy with the underlying XML format, and
who would prefer a binary format. I don't really care that much, because it
is easy to load and write XML, but I see their point if you want to support
huge models.

I think there are a few other attempts at open interchange formats, but
they don't seem to have much traction so far.

Of course, if you want to put in the effort I would try to polish the
Collada code instead of inventing another format.

Jens
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/bf-gamedev/attachments/20140917/24963b0a/attachment.htm 


More information about the Bf-gamedev mailing list