I like Blender a lot as a tool. Unfortunately, I’ve found the export process into Unity to be about as stable as a house of cards.
I ran into this thread on the Blender forums, which talks about how viable FBX is as a data format. From what I understand, FBX has become more-or-less the industry standard. But it was developed privately by AutoDesk, and they aren’t so keen on giving up its internal details.
Apparently, anyone over at Blender who gets assigned to work on the FBX exporter just ends up getting really depressed. They have to spend a lot of tedious work reverse engineering this unknown format. It gets worse because Autodesk changes the format at will, and the Blender guys have to follow in their wake.
Unfortunately, there don’t seem to be a lot of viable open source formats. Collada might be viable, but it was criticized as being “too flexible”.
Interestingly, Epic recently threw 10k at the Blender guys so they could write a better FBX exporter. Perhaps Unity should do something similar along those lines, maybe even making a new data format.
Autodesk has a FBX converter which I use to convert the fbx from blender to an Autodesk standard fbx. Working well as of yet. But donating to the blender foundation isn’t a bad idea.
Yeah it gets worse when you have more complicated stuff to export.
Technically Unity and Blender are under no obligation to make a better exporter. But a large number of Unity customers are using the free version of Unity, and they probably aren’t kicking down $3.5K for Max or Maya. Having a better export process would be beneficial for lots of people.
Out of curiosity, what problems are you having with exporting as fbx from Blender?
For me its a bit tricky to set up the first time, but works fine so far. I just forget that I have to keep textures unpacked and saved as an image on the HDD, instead of packed in the blend file, so I have to go back and save as image. That’s pretty much all the issues I have with exporting.
1. For a long time, Blender had only a Ascii exporter, but a binary importer. So it couldn’t read what it writes. Though Blender did recently release a binary exporter.
2. With regards to the importer, I can’t properly load a rig exported from max for one of my models. The bone import is garbled.
3. Back to the exporter. The 6.1 Ascii exporter has this weird thing where it doesn’t export each animation with respect to the default pose. So you’ll get different export results if you order your animations differently. The problem is not present in the 7.4 Binary exporter.
4. With the binary exporter, I had a few small animations on a model and they weren’t exporting into Unity. I removed the old animations and added new ones in the exact same way. Now they export correctly …
5. The materials sometimes come out garbled (not how they appear in Blender), so I have to rebind them on export. This might just be with the ascii exporter.
6. If I reexport a model, it will turn upside down in Unity if I add a new bone. This only happens when the model exists inside a prefab.
Only used Blender to export fbx files, never tried to import one as far as I remember. But yup I noticed the #3 and #5 problems. #5 is still happening for me. The first material you make also sometimes changes its name when I import into Unity, to some of the folders from its path I think. Not sure how it gets to it. Or it just names it self Material.
Never really use the importer. The other stuff I haven’t had any problem with the other stuff you mentioned. Though I haven’t used the binary exporter except for a couple tests. It seemed to work, but it is also under active development. I am avoiding it for any production stuff until it is more final. Also I don’t ever use texture information from blender.
I had most of those issues once. I fixed them all by having a “Models” folder in my unity project and having the blender source file saved in that directory. No texture funny business when doing this. Also unity can use .blend files, so until the model is 100% done you might as well keep it a .blend file. Unity will make it an fbx when it needs it to be
I can’t really say anything about the ascii problems because having the source .blend file in the unity project directory has kinda just worked perfectly. Animations and all. Orientation is a problem from time to time, but then I can just open the blender file, rotate the model so the unity forward matches the model forward, then save it and unity fixes everything when it gets focus.
The fbx exporter for blender has received some updates in the 2.7 releases. Still not a bug free import into unity, but much better than the 2.6 exporter if anyone is still using that.
I’ve been trying to import animations from blender using fbx exporter in 2.72 and nothing works, the imported animation doesn’t move at all, character has no bone movement. I have been searching the Internet and I can’t find a correct workflow on how to do this? No workflow at all? I would be grateful for someone to chime in a let me know what to do.
How are you setting the animations up? Are you using legacy or mechanim? What happens when you play them, are you seeing the keys in your anim timeline? Its very hard to say what is happening from what you have provided. Maybe some screen shots would help.
So I happened to figure out the problem. It’s so stupid but I happened to rename the bones in the animation file but I didn’t rename in the main mesh file so unity wasn’t recognizing them.
Zombiegorilla, thanks for your response, I think I got the hang of doing this. I am actually thinking of making an official blender fbx export thread that gives workflow instructions to make sure everything imports into unity correctly.
There are few threads for specific issues, generally it is pretty straight forward (I guess unless you rename things in only one place.)
Glad to here you sorted it.