NPR Normal Coordinate Toon Shader

Hello, I like making cartoony looking characters. I just found a new technique that I never heard of before and I wanted to try it out and show it off. It’s incredibly simple, but also somewhat limited.

I’m using Blender 2.79 Default Render because it’s the best, how dare you deprecate it??? But anyways, to make this effect, add a texture to your material and set the Mapping Coordiante to Normal. For the alien character render, I have various layers of them set to Divide for highlights and Multiply for Shadows. They are on top of a Shadeless base layer which is just the UV surface color texture.

I like that this is so much simpler than most of the toon shaders with nodes I’ve seen, I like the amount of control I get over shadows and highlights, it feels more like drawing in 2D. However, this technique does not take any lighting information from the scene (although you could add it to a shaded material, this is great for edges or hair highlights), you don’t get drop shadows or effects like Fresnel transparency or Ambient Occlussion and the direction of shadows or highlights are set to the view. I imagine you could get around these problems by using nodes or a little programming, but it’s not my specialty. Any thoughts on this would be appreciated.

While I’ve never seen a tutorial explain how to do this in Blender, I do think that this is how one of the older toon shaders for Unity works. So sorry if I’m reinventing the wheel here, but I thought it was cool.

:thinking:… alike mat caps…


Okay, I am familiar with Matcaps, but I guess I’ve always thought of them as being specific to Zbrush. I guess the main thing I’m excited about is being able to combine that with a UV texture image, and using layers to add/divide highlights and subtract/multiply shadows gives it a better feel in the end.