Encouraged model file format

I’m really confused on which file format to use for importing models into my game. Currently I’m using .obj as the loader didn’t take long to write and the format is “fully” supported. But that won’t be sophisticated enough as I’d like to read up on and implement skinning.
Using Blender atm, but wouldn’t want to limit myself. Some of the points I’m able to think of:

  • There’s COLLADA the standard from Khronos. Not binary but ASCII based, so slower to load.
  • FBX; a closed project, making writing the loader painful. Blender’s default FBX exporter doesn’t seem to support the binary format so that’d make it slow as well.
  • 3ds is binary and looks great at first sight, but is outdated and replaced.
  • Or maybe just skip animations, keep working with OBJ and make a car racing game. :stuck_out_tongue:

Thanks in advance.

What library are you using?

I ask this because libGDX has full support for obj and for FBX (I think on the latter, I know it’s one of their primaries) so a bit more information as to what you’re doing/using would be helpful.

I’m using own wrapper around LWJGL, sorry forgot to mention. My needs are a triangle mesh and bone animations.

I would go with Collada - maybe it is slower to load, but it can contain a lot of informations, can be easily adapted to any needs and interpreter is easy to write.

Almost all games go with their own format. Then you just need to write a converter from Collada (for example) to your own binary format. The advantage is that loading them is lighting fast since you can format the data in any way you want.

After reading this I think I’ll follow your advice theagentd. It’d suit my needs and beyond if I wrote a converter back to Collada.
Thanks for the quick replies!

My format is literally the way i keep the data in memory. So i have a 2 load paths, load cached binary version, load slow full version that then also saves the memory image as a cached binary version.