I am pretty new to Blender… I modeled a playing card (basically a flattened and stretched out cube) in Blender, and when I export it as an FBX and import it into Monogame, it renders as a cube. I also created a UV map in Blender… not sure if that has any impact on the outcome. Also, in Visual Studio, if I double click the FBX file, VS will show me the model correctly as a card. It’s only when I render it in Monogame that it shows as a cube.
The thing is… if I export the exact same model from Blender as a .OBJ, then import it into Wings3D, and export it again as a .X file, then the .X file works as expected in Monogame.
Any ideas on why the FBX file renders as a cube, but if I put it through Wings3D and then export as an .X file, it works correctly?
IMO Blender’s FBX exporter is just…not good. I’ve had lots of issues getting it to play nicely with XNA since the 3.0 days. I spent alot of time chasing my tail trying to figure out why until I just gave up and found different ways to deal with my content (such as your ->obj->.x method).
However, if I export as .dae and import into monogame directly, it’s worked perfectly every time for me. Unless you’re tied to .X/.FBX for some reason, you might try this.
I figured out my problem… I was not using CopyAbsoluteBoneTransformsTo to get the model transforms and modify the world matrix.
This problem only seemed to affect models used directly from blender. I have fixed my code, and all is good now. I have also since discovered than its good to do a Ctr-A in blender and apply any scales or transforms to the model before saving.
FYI, there seems to be a plug in for blender which will export directly to DirectX format (.X files). It’s been working well for me, but I have very simple models.