mono/MonoGame — pull request #3336 by mgarstenauer (2014-12-30 13:32:50+00:00)
Title: Improve FBX support

I have spent some time refactoring the OpenAssetImporter. The goal was to improve FBX support. If a model can be previewed in the [Assimp viewer](http://assimp.sourceforge.net/main_viewer.html), then MonoGame should be able to import it.

Still, there are tons of FBX models that Assimp does not support. I think this is the best we can do in MonoGame, everything else needs to be fixed in Assimp.

**DISCLAIMER:** I have mostly tested the FBX importer with our custom model processor. Our model processor now works with the XNA content pipeline and the MonoGame content pipeline (same code).
Please test your models with MonoGame's ModelProcessor!

**Notes about XNA vs. MonoGame/Assimp:**
XNA was built with the 2006.11 version of the FBX exporter. It may or may not support newer FBX versions. This is totally unpredictable. It depends on the internal structure of the FBX file -- the actual file version is secondary.

Assimp supports FBX version 7.1 (FBX 2011), 7.2 (FBX 2012), and 7.3 (FBX 2013). That means most original XNA models need to be converted to a newer version.
Assimp is not as powerful as the FBX SDK. It is best to check each FBX file in the [Assimp viewer](http://assimp.sourceforge.net/main_viewer.html). If the model does not look right in the viewer, then it can't be imported with MonoGame. The model needs to be fixed in 3dsmax (or another tool).

For example: The XNA's Dude.fbx from the [SkinningSample](http://xbox.create.msdn.com/en-US/education/catalog/sample/skinned_model) needs to be converted to a newer FBX version. But even then it can't be loaded by Assimp. We had to fix pivots/transforms and animations manually in 3dsmax.