[Bf-committers] The future of FBX and/or other formats in Blender
Bastien Montagne
montagne29 at wanadoo.fr
Tue Feb 9 17:42:37 CET 2016
Hi,
So, lately there's been a lot of FBX-related issues reported to our
tracker. Most of those are either:
- Known (half-)broken things (like cameras/lights orientation issues),
over which I do not intend to spend more time, since those are not
critical features to support imho.
- Broken corner-cases in an area that globally works rather well
(thinking about skeletons here).
- Mysterious third-party applications-related issues (scaling, skeletons
again, etc.), that is, bugs that show with one app but not another.
I think later point is a good demonstration that FBX itself is a failure
and a dead horse - if even rather big and serious companies like Unreal
or Unity cannot get a reliable FBX importer working using official FBX
SDK, then how are we supposed to do it without even that SDK?
Further more:
- In past two years a lot of time and energy was invested (lost) in FBX.
- </rant> I’m just dead sick of that format, of hitting any possible
table corner when trying to walk my way in that non-sensible pitch black
box, etc. </rant>
- Knowledge I gained of this format and its evolution is **not**
encouraging at all (stupid things like supporting two different and
complex transform systems [3DS max and Maya ones, btw ;) ], a very weird
inconsistency at binary level, etc.). I do not have any feeling this is
a sane format, nor that it is evolving in a sane direction. It seems to
be defined a bit as needs arise, piling up new stuff over old ones, etc.
To summarize: no clear design behind it, and a very dirty way of
handling new versions of it.
So I would claim to stop relying on and developing it. It would not mean
we just remove it from Blender, but think it’s time to switch to
something more modern and open - am aware of at least to possible
alternatives, which could even be quite complementary.
I) glTF
Promoted by Khronos group (https://www.khronos.org/gltf), it aims at
being the open exchange format for games (from simple asset to complete
scene description).
Think it’s still very new stuff, not much widely used yet, but it seems
to have some support from several major companies (including Microsoft
and even - rofl - Autodesk, see http://gltf.autodesk.io/).
II) USD
Promoted by Pixar (http://graphics.pixar.com/usd/), it aims at being
some kind of generic pipeline format for CG studios (it also has
integration of Alembic e.g.).
I have no idea of its acceptance currently, but sounds like it could be
a valuable option for our 2.8 'pipeline/inter-application exchange' goal?
(as a side note, interesting to see that those two have a similar
approach, they are not monolithic files but rather a combination of
binary data and textual descriptions…)
Anyway, those are very early reflections, would like to get your
feelings about those two formats/projects (or others you may have in
mind! ;) ), but I’m feeling much more enthusiast at the idea of spending
time on modern, open-designed (or at least, open-specified) formats,
than on piece of proprietary crap!
Again, even if we end up deciding we stop trying to fully support FBX as
our main exchange format, it would keep being supported in its current
status at least for one or two years - just I would not try to add
support for new versions (2016 one seems to have some incompatibilities
with our code already), nor would try to understand and fix more stuff
in that format.
And that’s a long enough mail, thanks for reading it!
Bastien
More information about the Bf-committers
mailing list