And, Action! Animating Like The Pros

Last week, I discussed putting a 3-D character asset in a game as a 2-D animated sprite. This week continues that technique, focusing on characters that originate as a 2-D drawings instead of 3-D models. Indie game developers have to use the tools available to us, which sometimes means improvising.

Zombie Sketch

Zombie Sketch

I don’t have any 2-D animation software, so I had to figure out a way to get my static drawings into my Zombie Circus game as animated sprites. This meant getting my 3-D software to do the job.

Final Zombie Inked

Final Zombie Inked

My previous article mentioned billboarding, where 2-D pictures are projected onto flat, 3-D “billboards” facing the virtual 3-D camera. Gridrunner Girl used this technique to get 2-D animated graphics into the player’s 3-D game world. I figured I could use a similar technique for Zombie Circus, but with a slightly reversed process.

The technique I came up with for Zombie Circus involved creating new billboards — not in the game, since it was 2-D, but in my 3-D animation software. First, the zombie character drawings were cut up into individual body parts (arms, legs, torso, and head). Then the body part images were projected onto the billboards. Finally, the billboards were animated and rendered out as dozens of frames of animation.

As with Gridrunner Girl, the separate frames were composited into one “film strip” image for each zombie’s walk cycle and imported into my game engine’s cel animation component.

Partial Shambler Zombie Animation Strip

Partial Shambler Zombie Animation Strip

The overview sounds simple enough, but the process is a little more involved. To animate a zombie — or any character — with billboards, it’s not enough to project the image onto a single billboard. For a walk cycle (or any intricate animation), I had to use multiple billboards, ending up with one billboard per body part — 2 arms, 2 legs, a torso, and a head — totaling 6 billboards for each zombie. This way, each part of the zombie could be animated independently in a full range of motion.

After the billboard body parts were placed in relation to each other, the character was rigged similar to how a normal 3-D mesh is rigged, placing “bones” throughout the mesh to simulate bones in the body that can be bent at their joints to bend and deform the mesh accordingly.

2-D Zombie Rigged onto 3-D Billboards

2-D Zombie Rigged onto 3-D Billboards

At this point, it was just a matter of animating and rendering the critters out. This whole process was done for each zombie type in the game, but once I learned the workflow, it became fairly quick to put together new zombie types.

And so I accomplished what I set out to do — even without the proper software. Using existing tools in new ways opens doors that would otherwise be closed to Indie game developers, it just takes some creativity to open the lock.

About GlowPuff

GlowPuff is a Windows Phone 7 developer focusing on XNA game development.