Traditional Animation in a 3D Game: How and Why

As anyone who has read my posts so far would know, I am working on a hand-drawn 3d game, the first of its kind. You may be curious on how such a endevaor was started, so I give a post here to explain that. Otherwise, feel free to click here to check out that game project in greater detail.

I love animation. All types of it. It makes me wonder why we use live-action footage at all for filmmaking, as it feels cheap in comparison. Animation requires a true artist to create everything entirely from scratch (not that I’m trying to put down live-action directors, that just involves different artisitc qualities). Taking the time to make something come to life, frame by frame by frame, I can’t help but admire the hard work that goes into it.

I love games in a similar manner. Here, not only is something coming to life in front of you, but you as a player are in control of that life. It’s hugely rewarding. Being a fan of animation, I eventually noticed that hand-drawn, traditional animation wasn’t being used as much anymore in the mid 2000’s, and instead we got several computer-animated films each year, most of which were either bad or very forgetable. If for no other reason, the excess of computer animation made the medium as a whole not worth what it used to be.

And so, I wondered… was there a way to make games with traditional animation? Of course, 2d games do this already, and do it especially well now, but what about 3d games? Sure, 3d graphics and models have made their way in 2d games (usually to great effect), but why not the other way around? At the very least, why haven’t we come up with a way to make computer animation mimic traditional animation to acheive this effect?

I assumed that someone would succeed in this eventually, and waited. At first, I assumed that it was possible to use computer animation to mimic a hand-drawn effect, through the use of special shaders and lighting and stuff. After having done a bit of computer animation and modeling, and seeing existing games, I believe we’ve come very close: static objects without animation, such as buildings and props, and certain mechanical objects like cars or trains, look fantastic with computer animation and can look hand-painted given the right textures. But organic animation, such as animation of characters, never looked right with computer animation. Rather, it looks fine, but not how I would like it to look. I belive it has to do with how the computer assists the animation by automatically filling the in-between frames, where the animator simply defines the keyframes and the computer does the rest. The animation then looks smooth, but the artist doesn’t get involved with most of the frames. The result feels artificial.

Some have tried to get around this, either by reducting the frame rate of the entire animation, or making the characters look simplified, but it doesn’t help, because it’s still too consistent. I wonder if an artist could simply copy a frame to last a certain length in the timeline, and then make a new frame immediately afterwards, such that the artists maintains control of every frame that is seen… I haven’t tested this yet, and it may be of interest for someone to do this on a larger scale, but until then, I decided to try the other option: literally draw and animate every perspective of a character by hand.

I tried a few different methods to do this effectively, and I encourage you to check out my videos on youtube to see the experiments, but here’s the basics: there is no computer model there, the character really is drawn by hand. Every perspective (left, right, front, back, top, bottom, others in between) is drawn separately. The images aren’t combined in some strange manner, like certain modellers might do for efficient rendering of an object from all sides for mobile games. To tell the camera which image to place at the character’s location, I effectively use a 3d-polyon, where each face links to a series of textures for that perspective. The face that is most perpendicular and closest to the camera (the one that appears the most flat in relation to the camera’s view point) is the one that gets rendered at the time. And that’s basically it. Done. It’s that simple.

“… The face that is most perpendicular and closest to the camera… is the one that gets rendered at the time. And that’s basically it. Done. It’s that simple…”

Some other notes: I tested different amounts of “perspectives” to determine the best amount to make the transitions between perspectives seemless, while reducting work for the artist. I tried with 41 perspectives (5 rows from horizontal to top, each with 16, 8, 8, 8, 1), which was almost perfectly smooth, but ultimately decided to go with 17 (3 rows from horizontal to top, each with 8, 8, 1), since animating a character 41 times was a little much. One day, I might go back to the larger amount, since the smooth effect was pretty cool… but remember that the effect is largely part of how close the camera is to the character as well. The farther away, the more believable the effect, but too close and the effect is reduced.

In the current game project, I also use a billboarding effect, where the textures visible at the time always look at the camera. This helps the transition between perspectives reduce it bit, but it depends on the implementation. I also separate a drawing of a character into different parts (separating the arms, legs, body, face for example), and put them onto separate planes for the perspective, so that they appear separate when the camera moves. The result here is that if the camera moves slowly without changing to a different perspective, you get a psuedo-3d effect used as a common trick by moving two planes at different speeds.

And the shadow that appears to only shade part of the character as you rotate the character around? Game artists might be curious about that… in my case, I was using the Unity 3D game engine, and I simply replaced the flat planes containing the texture/sprites with cylinders, which gave a naturally curvy effect. That’s all.

Notice that I only mention doing this for characters. Doing this for everything in a game would be silly and unnecessary, only characters and other animated objects really makes sense for this type of method. Also, using so many HD textures isn’t easy on the hardware, and can actually be less efficient than computer animation if used in excess. And of course, it’s not easy to draw everything frame by frame, so only use where you would feel necessary.

I openly tell everyone this because it seems silly to keep it a secret. I want people to use it. I want people to improve it. I want to see what talented artists can do with it. To help explain the possibilities of it, I make a game to be a showcase, an example of what could be.

This might not be as in depth as you would like, but that’s really all there is to it. If you have any questions, feel free to comment below, or check out the youtube page for a better visual understanding. It’s not perfect, but it’s definitely different, and that’s exactly what the industry needs right now.