Experiments with NPR/Toon shading in Eevee

I’d like to share some details about my humble npr shading experiments during the recent weekend challenge. :smiley:

The concept is actually pretty simple, but it can yield quite interesting results.

Note: These shaders can only work with Eevee cus “Shader to RGB” node is not supported by Cycles.

Default diffuse shader for reference:

Basic toon shader with predefined color stops:

Procedural colors based on a light source:

And finally noise texture distortion:




Real example

If you want to play around with these shaders here is .blend (Blender 2.80 only) with a bunch of materials (still a WIP).

npr_playground_v0.1.blend (1.2 MB)

71 Likes

Congratulation. It seems to be really nice
Gonna reproduce it.
Many thanks for the explanation.

That’s super cool! I absolutely love the look of those examples! I played around a bit with Npr in Eevee, but it’s been a while. I’ll have to get back to it. I’m excited to see what amazing visuals people are gonna be able to create with Eevee! :grin:

Love it. Going to try them. I am trying to build a backgrounnd NPR and NPR based characters for a hobby project. I love the cartoon style, alas I am more coder then artist, so it’s been …tricky.

Is it alright if I use your shaders? I had so much fun using them while making this 3D rig to give a more “painterly” look, and I’d like to use this rig for my youtube channel in the future :smile: I used and modified the “npr_ubershader_noise” material to give a painted effect on the surfaces

3 Likes

Yep, feel free to use and modify them :+1:

1 Like

Someone make an Aidan Hughes (Brute! Propaganda - artist for KMFDM albums + all kinds of other incredible artwork) style shader and you will be my hero!

Reference images: Brute! Propaganda Gallery

Paul Caggegi’s manga shader may be similar to what you’re looking for.

Thank you for sharing your work. I’ve been fumbling with something that I thought would be similar. And in the end, it’s a tad different, but I’ve realized it thanks to you :).

1 Like

Halftone shaders were very interesting, so
I made a video showing the node structure.

Halftone Shader [Blender : NPR Shader] - YouTube

3 Likes

I really like the math setup!

How do I find the (Diffuse_input) in blender?

1 Like

i would like to know too, did you find out how he did it?

Hi. That is a Node Group created by the user. You download the file of the first message of the thread, select that Diffuse_input node group and to analyze it you press the Tab key. To exit, the Tab key again.

https://www.youtube.com/results?search_query=blender+node+group

1 Like

Love them! Thanks for sharing.

I have to add thank you for sharing these!

Broo finally i got it :sleepy::sleepy::sleepy: