Blender FBX Import

scroll down to fbx converter. Maybe this can clear up some of the cases…

@Fweeb, your not wrong that there are legal issues with GPL + FBX, but it should be noted these issues CAN be worked around.

You just have to figure out how to get the FBX SDK to use IPC’s and then theres no legal issues.

infact a developer is working on one now privately for a company and I have been a helping a little with it though Im not sure if he plans to release.

However I have no fondness for FBX format so if people want it they can pool resources and hire a dev who is ok to code a workaround to have blender communicate to an external processes which passes the FBX data - thats great.

This is really not fun coding work for me so I’d be happy if someone else picks this up :slight_smile:

FBX importer would be great, if workarounds for the licence exist then great.

In normal times I’d step up and set up a fundraiser for this and try and find an interested coder… but I am super busy at the moment… if anyone else is interested in setting up a fundraiser I’ll pledge money for this.

Trabon wrote:
(Our team has a high demand on import/export FBX files, mainly for animated characters, between Blender, Cinema 4d, Max and Maya.
Overall a proper and robust exchange of uv, animation, joints/bones and materials.
Collada didn’t work very well for us in this workflow so far.)

Your question seems to make you the one I should ask with my question, so here goes. I’ve been trying to import into blender 2.6 an already rigged and animated model from another application. It seems to work well in all other programs including Unity. When I import into Blender the Y and Z axis’s are reversed, and when I hit option A to run the animation it weirds out on me. I think that I need to tell blender to reverse these two axis when before I import the model, but I can find no way to do that. Do you have experience with this sort of thing and can you help?

Ok, so the whole issue boils down to the fact that Autodesk (bastards) own the rights to the SDK. They aren’t going to roll over on this one. I’ve got an idea, - why doesn’t someone clean up the collada import? You know, improve it.

Your question seems to make you the one I should ask with my question, so here goes. I’ve been trying to import into blender 2.6 an already rigged and animated model from another application. It seems to work well in all other programs including Unity. When I import into Blender the Y and Z axis’s are reversed, and when I hit option A to run the animation it weirds out on me. I think that I need to tell blender to reverse these two axis when before I import the model, but I can find no way to do that. Do you have experience with this sort of thing and can you help?

We could not get it working properly so far, and are not able to spend more time on this.
2 of our members use max, one maya and me learning xsi atm.
That way blender is unusable for an animation pipeline.

And yeah, fixing Collada would help allot ;O)

this is just sad.

yep.

Sad. so few industry professionals able to use it. Then we never get the by- product
of advanced comments and suggestions, nor advanced tutorials.

Described a bit dramatic in my opinion.
Just because you develop for a FOSS that is GPL compliant doesn’t mean you aren’t allowed to code anything else.
Any blender dev can work on it, it just can’t be incorporated into Blenders source, nor distributed with Blender.
Doesn’t matter though, I simply state that Blender dev’s can be mummified in a print of the to-do and the bugtracker :slight_smile:

There are a lot of solutions to directly use a C++ library from within Python. Never done it thus far, but I doubt FBX does something uberfancy where stuff like boost.python for instance hit’s a dead end:
http://www.boost.org/doc/libs/1_38_0/libs/python/doc/index.html

The question should not be if it’s ethical to incorporate FBX, if Autodesk are bastards or not, if it should be done or if someone’s not fond of it…
Fact is, either Blender gets one of the major formats to collaborate with rigs/animation from/with other tools or it’ll remain a pariah.
As long as nothing moves and no one needs to animate or rig Blender is fine, so for collaboration it’s a modeller, but as soon as we go towards animation, and after all Blender is an animation package, you can kiss collaboration goodbye.

For all I care screw FBX in direct combination with Blender.

Someone just has to write a 3rd party tool that can load and save .blend and .fbx and convert between those two. You just have to make sure not to use code from Blender to read/write .blends, make it a commercial tool with a 30 day trail or whatever so it fully abides to the FBX SDK license and sell it.

If you’re Johnny Sunshine blending for fun you don’t need it anyways and if you’re a freelancer or a small studio with Blender as maintool or major tool in the pipeline you simply buy it.

And if it’s something commercial at least you can somewhat be sure that it’ll be maintained and incorporates changes in .blend and .fbx

I am certain this is easy enough to achive if all pull at one rope, licensing is cleared, funds are raised and a dev is found, but I constantly sense a deep rejection for fbx, making up excuses why not to do it.
Almost as if people feel like they are traitors to Ton after his lost fight if they get in bed with fbx now.

Has anyone considered the idea that maybe coding fbx is just a massive undertaking, maybe not very interesting or appealing, or just generally a pain in the ass? Collada support has changed hands multiple times over years and still is apparently incomplete. To quote Campbell:

Note that FBX has similar issues as collada, which is that different applications support different parts of the FBX spec - so Lightwave and Maya for example complain when importing non uniform scaled bones from blender for EG because they don’t support it. So you cant assume just because a single application chokes on a blender FBX model that it is a blender bug for sure.

A coder would have to deal with multiple packages as well as a constantly evolving spec, certainly no weekend project! But I think it would be worth a shot for the squeaky wheels here to start a fundraiser and find a talented dev, it seems to be a good route these days.

Great post!
Many animators/tech animators would appreciate this kind of solution. Just because it’s fun and intuitive to work with blender :O)

Sounds to me like you have a business plan. I look forward to your product release.

Well that’s at most an idea. A business plan would mean I had done research if there’s actually a market for this tool. And by the time I had either the study or the tool done I´d be the end of time anyways :slight_smile:

Still, even if there’s someone willing to do it in the spirit of FOSS, he can still make a “commercial-free” version for the symbolic price of 1 USD which’ll be donated to the BF. :wink:

I just don’t see why people try to create an artifical problem by trying to implement fxb into blender. Not everything has to be on board with Blender.

On top of that, to take it even further, one can also do it the other way round and write an importer/exporter for .blend for Maya, Cinema, 3dsmax.
You’d have the advantage that you could GPL it, use blenders code to handle the .blend and the disadvantage to do it for all the tools.

Or you invent a new open collaboration format that has cookies and let the users of each package code their own importer/exporter.

The possibilities are there, no need to rigidly stick to the thought it has to be fxb inside Blender.

Blender needs a collaboration format for animation. That should be the main goal.

An FBX importer for Blender would be great indeed.

The closest to a working open source FBX importer is part of IrrExt, see the sources here:
http://irrext.svn.sourceforge.net/viewvc/irrext/trunk/extensions/scene/IMeshLoader/fbx/CFBXMeshFileLoader.cpp?view=log

It can deal with ascii and binary, but doesn’t extract all data yet. Still it seems a good starting point for someone interested.

Another option would be to save a .blend file from a .fbx file using the official Autodesk FBX SDK. The gamekitproject contains two custom .blend importers. There is a small example that can extract skeletal animations from a .blend file. With some work you could create a .blend exporter.

Thanks,
Erwin

Ironic that I found this thread. I’ve been working for the past two days on getting a rig from Blender, into Filmbox and out again. I’ve ended up successfully importing the fbx from MotionBuilder into Lightwave (after running the standalone interchange program) and then baking out the MDD data for Blender. It’s a bit clunky but it works fine. If MotionBuilder had an MDD exporter, we could skip the Lightwave part as you only need it for a couple of button pushes.

An important part is exchange of skeleton, bones and skinning information. It seems that information is all lost with MDD, right?

FBX export of skeleton, bone and skinning seems already working in Blender, so FBX import of this information should be our goal.

All the bones and skinning are intact throughout the process. The animation is exactly how it looks in MotionBuilder. You get the added benefit of a lighter scene because there are no bones to solve for so you can easily scrub the animation with no lag at all in Blender.

This is very similar to the method that we used to make Jimmy Neutron (using different software of course).

MDD is simply point (vertex) data… so you are baking every single vertex on the mesh for every single frame. The drawback is that you cannot edit the mesh afterward. You would have to go back to MotionBuilder and re-export everything.

How do you get bones, skeleton and skinning information from another package into Blender?

tommywright mdd is fine if all you want is final mesh for render, it’s true.

There are many many many more cases where you actually need to get bones, weights multiple UVs, animation, and other properties in and out of your dcc app.

So far only collada and fbx support all of this…

mdd is fine for a subset of use cases, but blender really is an island without high quality fbx and/or collada import/export.

So far Collada giving success on import hasn’t really ever happened with blender for me… fbx export is excellent… fbx could also be improved.

Sadly, using the autodesk sdk to get good fbx import is beyond my python skills else I’d scratch this itch.
I will pay for a commercial solution if it’s available…

erwin, try bvh, try collada… you may get lucky.

I heard people using the unreal format too… though never myself.

bottom line is that in all but simplistic cases you’re really out of luck

I’m going to look into creating a free open source FBX importer that supports bones, skeleton and skinning info, without using the Autodesk FBX SDK. Once I have some results, I’ll report it here.

I will need to have a few simple animated files, created with Maya, 3ds Max and other packages, together with their FBX export for testing. The first test files should be very simple, like this Blend file.

Can anyone help providing such simple skeletal/skinned animated 3ds Max (3ds) Maya (.mb) together with the exported .fbx file?