Monday, November 12, 2012

Anim3D

The simplest way to create a 3D animation is to create multiple keyframes (3D meshes) for different timeframes and interpolating the vertices with time. This is the technique used for Quake2/Quake3 models. The simplest file format would be to start with Quake2's md2 file format. The problem though is that there aren't many exporters around for the format and the loaders that are around seem to screw something up something regarding how the animation is handled.

I could have spent some time to figure this out and fixed the exporters/written one myself.. but i thought it would be a good learning experience to try writing something myself. That's how the 3danim project started. Just one simple ascii based file format that is easy to parse and use. I didn't make it binary as thats' the logical extension for how we store the data, But the important part is to understand everything that is stored in the file.

Iv'e written Loaders in c, python and have had my friend write the java loader. The exporter however is based on python and is an addon for the open source 3d authoring tool blender.

That is where the pain starts actually.. the blender python api has been in so much flux that after every new release, i had to re-write the exporter... the last version i updated to was 2.57 and today ive' been struggling to get the script updated to 2.64 hopefully this will stabilize soon and ill' be able to use it more often. It's probably a wise thing to wait and use an older version before everything stabilizes..