Monday, November 23, 2009

The switch to Away3D

Been a while since I posted an update, but since that time I have run through experiments with PV3D, Away3D, Unity3D (not Flash), and, minimally, some iPhone-related techs.

The next project I've started working on relates to the human aspect of space exploration; in that, meaning Astronauts. As such, I've been working on yet another Augmented Reality piece that will give the user control of an astronaut on their desktop.  As I had already managed to do one, with relative success but less than amazing results, with PV3D, I decided to try and give Away3D a go. And I have to say, I'm much happier with it. It has its annoying moments, granted, but all-in-all, I prefer it as a 3D Engine.

A major portion of this project relies on character animation, however. And exported biped animations to Away3D can be a bit plucky. Unfortunately, most of my frustration came because I was using a newer exporter that didn't quite fit the format of how Away3D parses Collada animations. So ColladaNextGen is out. However, ColladaMAX 3.05C works quite well with it.

One of the major things I've noticed it lacks, though, is an easy, logical way to control animations. If you have an object that has a simple, looping animation, it works great. But I have a character that has to juggle a Walk Cycle, Jump Cycle, Idle states, and possibly a few more actions... maybe picking things up?

So I've actually created a CustomAnimation Class to help the SkinAnimation class out. It's simple, light, and is definately doing the job for me. :)  I posted it to Away3D's Devgroup on Google; so if anyone is out there trying to do anything similar, feel free to grab it!