Blender Character Animation formats

I have some character animation in Blender that I’d like to use in code but I can’t find a good format to export to. Has anyone got experience exporting animated meshes from Blender 2.69? What approach would you recommend?

I’m happy to write an exporter and I’m also considering getting the FBX SDK to write a C++ based FBX -> my own format converter.

I use the COLLADA file format myself (.dae), it’s an open, xml based file format done by Khronos (the guys in charge of OpenGL, OpenAL, OpenCL etc.) so they know a thing about making good stuff. I had to write my own importer but it isn’t that complicated and since it’s in xml you can easily spot the causes of bugs etc.

I’d be happy to share my importer if you’d like except that it is still a little incomplete and I’m sure there are far better ones out there. I just like doing things for myself. But if you want to look at it for whatever reason then ask away.

Ahh! I didn’t know the collada export did animation. I’ll give that a go then. I did see some comments about the Collada format being a bit non prescriptive to be useful but I guess I only need to worry about the files that Blender exports rather than every possible Collada file :o)

Thanks very much for the feedback

I also looked at FBX as a potential ‘definitive’ file format for animated, skinned models, but again the actual underlying format is not particularly well documented so you’re in same boat when it comes to writing your own importer - at least COLLADA is backed by Kronos, seems to be current and is supported by most of the 3D tools out there AFAIK.

I found this excellent tutorial on using COLLADA for loading animated models exported from Max, Maya, etc: http://www.wazim.com/Collada_Tutorial_1.htm

I will be giving this a whirl over the Easter break and will respond with any issues, thoughts, criticisms, etc., I’d be interested to hear feedback on your progress from you guys as well.

  • stride

I used that tutorial to create a collada importer as well. Its the only one I found that I could use to make an importer for Java. It is not the most optimised implementation but it gets the job done. I have all the mesh and texture data I want and an attempt at the joint and skinning info. I’m still trying to get the skinning to work in my render engine and haven’t started using the animation data yet. If anyone has a working example of skinning in a shader they want to share, that would be great. I’m using blender and Ultimate Unwrap 3D so my importer has to be able to work with both.