Hello! Need a bit of beginner help deciphering some advice I got regarding shaders in lighting


A while ago I asked for some help elsewhere on how to achieve this effect and I got some good advice. But there’s a particular aspect of the reply I got that puzzles me. Below is the entire post for context, but for brevity and specificity I’m referring to the bolded part. I’d ask him myself, but this exchange was so long ago I lost track of the individual who gave it.

It looks like it has a mix of drawn in shadows (look at legs) and cast shadows (change with rotation). There also seems to be surfaces that ignore lighting (box on the main body under the large moving drop shadow).

Lighting is likely a single directional light that is toon ramped. In EEVEE this would be [diffuse BSDF]->[Shader to RGB]->[Color ramp] set to ‘constant’ on the color ramp to give you black or white.

You can paint out your drawn-in shadows to their own texture, then blend them with the lighting using ‘minimum’/‘darken’ blending. Then mix this into your main texture.

You can look into the Guilty Gear shader method to see how they tried to preserve a limited pallet with their toon shading, this should help with this pixelated look.

The shading looks mostly flat with pixel beveled edges. You can plug a [geomertry] into [Emission] on a low-poly flat-shaded cone then render it out from top view in ‘standard shading’ with dithering disabled. This will give you a pallet of normal direction colors you can use to paint on tangent normals. You may want to scale the cone down on the z-axis to lower the tilt to something closer to 45 degrees. If you have a tablet with tilt sensitivity you can also try kirta’s tangent normal brush. The default color for your tangent normal map should be RGB(0.5,0.5,1.0).

(edit: i forgot you would also need to convert the normal from -1,1 range to 0,1 range, so instead, to make things simpler – use a normal matcap and make a viewport render. It may also help to just bevel a cube is most of the shapes you are dealing with are the blocky examples you’ve shown. Then sample the color on the beveled edges.)

I’m relatively new to Blender, so while I understood most of it, that bolded part threw me for a loop; the lighting needs a Shader effect on it? Can you do that with lighting? Did I read that right? If so, how is this done? Just like any other Shader Node process?

Apologies if this is a weird question. Cheers, and thank you!

I think it is related to the shader on the mesh. Since Shader To RGB is used as “post processing” after the lighting is calculated for the mesh surface. I bet it wont work if applied to the light source