Toon / Stylized NPBR shading advice. and Unity advise

@jlampel  If there is time I would love to know 2 things better. I am studying art theory and such but some things are still puzzling me. These have been on my mind a lot while I have been Jedi-training.


Q1. I would love to receive some advice on how to get that more toony style of shading (non PBR) like that of the Kamikaze shader pack on the blender market (which I purchased and love deeply). It needs to be able to react with lighting and shading information (you know, like a shader should)

 https://blendermarket.com/products/komikaze

Maybe another good example is how to get the style of shading that exists on something like "Spiderman - Into the Spiderverse" movie. 


Another example is the shading that exists in Clash of Clans characters. https://clashofclans.com/


Q2. I am also planning on taking my shaders into Unity for Game Dev (obviously). And I get excited about making cool looking shaders and then get stumped when for whatever reason I stumble terribly getting them into Unity. What is the industry standard best practice to get them there in as few of steps as possible? I'm looking for perhaps some do's and don't's coming from Blender workflow.

  • Peter Varga(rationalrats) replied

    I can relate and second that!

    : D


    if anyone sees this...

  • Jonathan Lampel replied

    Hey blanchsb rationalrats , I didn't get to this question on the stream so I'd like to answer it here! 

    That Kamikaze shader pack looks amazing! One thing I notice is that it only works with Eevee, which is a clue into how it works. I'd bet anything that the heart of it is the Shader to RGB convert node, which you can use to get really cool NPR effects but does not work in Cycles.

    Here I'm using it with a Separate RGB node to add a constant falloff to each color channel. I think the Snap node is only in 2.82, but you can just as easily use a color ramp. 

    Clash of Clans isn't using anything like this - they're just well lit, high roughness materials with some SSS and post-pro sharpening. 

    As for getting Cycles or Eevee shaders into Unity, I have some bad news - you can't. Shaders are entirely tied to the render engine, so they can't transfer. There are standards like PBR or OSL that allow different render engines to deliver similar results, but Blender nodes are specific to Blender and you'll need to build your Unity shaders with Unity's shader graph or custom scripts. 

    Here's a great course by Gonzo about Unity shaders: https://cgcookie.com/course/shader-school

    That said, you can bake your diffuse, roughness, emission, etc. maps down to textures and use those in Unity or any other app, which will make sure they look nearly identical. The animated procedural stuff or effects that cannot be baked are a no-go though. 

    Hope that clears things up! Happy shading 🔮

  • Shawn Blanch(blanchsb) replied

    Great explanation @jlampel ! I am learning about texture baking a little better and have purchased a lot of add-ons from your previous Blender Add-On video during the  black friday/cyber monday. I got the Layer Painter, BPainter, Blender2Unity (not ready for 2.8 yet but hopefully soon), Rotopoflow (same story, but hoping 2.8 ready soon), and Mask Tools.

    Textures will be half of the battle. But I appreciate you answering my questionsregarding creating that effect in Blender!


    I have amplify shader editor for unity and was hopign I can recreate a similar effect there. I sure would like to see some unity content on shaders as well since it is a part of CGCookie's workflows.

    I didn't get to watch the livestream live but I plan on watching it this week. Thanks for all of the great content. I am learning soo much.

  • Jonathan Lampel replied

    Great, I'm glad to hear it! Good luck!