Making good animation is hard. Good animation is beautiful. The combination of these two facts makes it highly desirable for me to find automatic, or otherwise easy, ways of making animation.
A while ago I thought about trying motion capture. The recording process is not very simple[1], but the result is so universal – there are many ways to design a character, but very few movements a character should make. How many different types of walking are there? of running? does it really make sense to redo all the animation for every character from scratch, when so many of them do the exact same things?
So, my hope was that, since I don’t currently have access to a motion-capture studio, perhaps someone who does have one was nice enough to make their results publicly available. And indeed, there was. The Carnegie Mellon University Graphics Lab turned out to have a very big database of motion capture available for public use. So I decided to try it.
After trying to make some sense from the clumsy w3c file format, I found their data has almost 50 markers, which is amazing. At first I thought I would have a very difficult time drawing something that looks like a human from that data, but with so many markers, even if I just draw a tiny square in every marker’s location, we get a nice “ghost-like” human form:

For some reason, WordPress screws up the screenshot I was going to put here, so here’s a picture of a kitten instead (from Wikipedia). You can see my results in the YouTube video or HTML5 demonstration.
Animating is makes quite a cool result. After achieving that, it was sitting in my code directory for a few months, waiting for when I’ll find the motivation to try and reach the next goal – turning it into a game-capable animation. That is, a cyclical animation (so it can go on for longer than the data is currently available), with a fixed location (so the animation can be synchronized with the actual game character). Yesterday the time came, and it was surprisingly easy. I used a very simple method to find similar animation frames near the beginning and near the end of the animation (so that it can be repeated indefinitely without the observer noticing), and to normalize the marker locations around a fixed point (to get the “treadmill” effect – the character walks but remains in the same place, thus the game engine can determine its final location).
Here’s a demonstration video, but its quality is poor[2] and does not do justice to the animation. I made an HTML5 example of this, please check it out here (left and right arrow keys to move).
Since the data is in 3D, I can draw it from whatever perspective I want – side-view, top-down, or isometric (or anything else, but these three seem the most useful). In case you were wondering – I know I can probably plug it into Blender and get 3D animation easily, but I don’t like 3D animation. I think it looks beautiful when huge teams of professionals do it, but anything below that looks ugly, whereas 2D (and especially isometric) can look nice without huge budgets.
Now, the question is what do I do with it. Any ideas? maybe a good way to draw a human figure around the markers without huge amounts of work? maybe a game that will benefit from awesome animations without having awesome graphics?
Only walking animation is available for now, but other things from the wide selection at Carnegie Mellon should not be very difficult.
[1] Shouldn’t be impossible though – theoretically, it might be reasonably simple to improvise a home-made motion capture studio with a webcam and some colored stickers or something. But that’s for another time.
[2] Is there a good, free video-recording software out there that offers reasonable framerate?

