Creating 2D Classic Animation In 3D Perspective

Rendering 2D animation in 3D is the process where a recorded video or animation(motion capture) has frames or parts of it removed to resemble that of a hand drawn 2D animation. The main objective is to preserve perspective in 3D space while simulating a 2D classic animation. A classic 2D animation has far less frames to simulate motion, while video or 3d rendering has much more frames. Standard video ranges from 25 frames per second to 30, even up to 48, or 60fps which is optimal for in game video game engine rendering. 2D animation usually uses only 15-17 frames per second, while not at a constant , but averaged over the illusion of fast motion(less frames) and slower motion(more frames).

While the cartoony "pen and paper"-style and look can and has been achieved in games, either by filters, textures or "cell-shading", their animations are often in a higher framerate than actual 2D animation. Some examples does imitate 2D animation, but they are rarely if ever rendered in a 3D world, often in the shape of side-scrollers or beat-em ups.

My vision and goal is to recreate the 2D animation look in 3D-perspective from a first person view, preferably using virtual reality(Oculus Rift) and tracking of hand motion(Leap Motion). I believe this can be achieved by instead of removing frames from an entire image, to remove animation keys and "gradual transformation" based on "rules" of classic 2D animation and illusion of motion.

This will be have to be programmed into an video game engine to work properly. As there already are video game engines available that renders 3D perspective to HMD's, like the Oculus Rift, that part is already covered. Cell-shading of some sort must also be implemented, but the rendering of the models themselves, say hands, must only appear in the framerate based on 2D animation. If users move their hands fast, swiftly, less updates of the model would appear. And more updates the slower a user moves their hands. This could perhaps also be achieved by only updating the position of objects at certain update rates.

But a hand can also move it's fingers, hands, and arms at different speeds at the same time, which is why every bone in a model must be programmed to be updated individually. This might be a tricky task, but there might be ways of evading it, if not totally ignoring it, since it could jeopardize the 2D animation look and just look buggy, as some bones of for example fingers could appear in mid air in different rates than a faster moving arm if they are not locked to the same update rate. One way to overcome this obstacle would be to simulate the ghosting/motion blur 2D animators sometimes use to point out fast motion by a repeating transparent image of a moving object.

If this is programmed properly any animation can be reformatted to look like classic 2D animation, automatically.

I already own Oculus Rift DK2, will have to get a Leap Motion or alternative hand motion tracker. I am planning on using UE4 for other projects, but I will look into what rendering capabilities it has and checking alternatives for that as well.

- Patrik Jensen

Kommentarer

Populære innlegg fra denne bloggen

When Google becomes your eyes.

I Needed A Place To Think

I Found My Canvas - The Oculus Rift