[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