Comics, Shade and Shaders

For this project I want to pull techniques from a variety of graphic novels and comics and try to implement them in Unity as best I can. I thought I’d touch on some of the shader stuff I’ve been playing with.

I’ve used toon shaders a lot with Unity - I really recommend Toony Colors Pro, it’s an asset with a broad range of neat presets I’ve been able to use to good effect. An example is the character shading I did for James Irwin’s music video “Carlo What Do You Dream”.

pietro.png

This is a pretty basic toon shader that takes a color ramp for its shade gradation - I used solid blocks of color in order to achieve this look, where shaded areas have hard edges. I originally copped it from wonder-game Kentucky Route Zero.

phone.jpg

This time around I’d like to go a step further and play with some more techniques for rendering shadows. Toony colors has a really neat tool for building custom shaders and I’m using it to experiment with half-tones (A.K.A. little dots).

2019-02-10 21_38_10-Unity 2018.3.3f1 Personal - Characters.unity - Comic Repo - PC, Mac & Linux Stan.png

The leftmost face shown above is more or less the shader I’m used to working with. The second one is similar but with a rough paper texture applied and the shadow ramp reduced to a single shade tone. The third face is similar but uses some light halftone shading. The last face pushes the halftones as the primary aesthetic feature. It’s interesting that even though each model is identical, the last face looks significantly younger. This is because the half tones are rendering a range of shade values, while the other faces are either fully shaded or fully lit. This better illustrates the roundness of the face, a quality we associate with children and teens.

I liked the look of the fourth face but quickly ran into some issues when I moved the camera - it’s one of the toughest issues to address when using a hand-drawn style in a video game: illustrators draw things differently at different distances, whereas a game engine will just draw something bigger or smaller.

To address this I’m going used LOD to change the shader parameters or even swap out the shader entirely when the character is a certain distance from the camera.

2019-02-10 22_05_52-Unity 2018.3.3f1 Personal - Characters.unity - Comic Repo - PC, Mac & Linux Stan.png

I’m not really satisfied with the above result yet, but it demonstrates how the shader will render the halftone pattern differently when the character is further from the camera. When the character is even further away, I abandon the halftone texture entirely, as I simply don’t have enough pixels to work with to get the effect to work. That said, it’s keeping with the style of illustration I’m interested in that detail really drops off with distance.

Adriane Tomine is one of my favourite illustrators - he does an amazing job of using detail and colour to focus the reader’s attention where he wants it to be.