URP Toon Shader OFFICIAL SALE

This is a cartoon shader for URP. Being entirely made in ShaderGraph, it provides control to technical artists directly from the graph, without having to dive into HLSL code.


🎨 ARTISTIC FEATURES

Toon shader with 2/3 hard bands of light and shadows, specular contribution, and additional artistic light effects.


It supports a main directional light and one additional light (spot or point). Despite being an Unlit shader, it can cast and receive shadows.


It features a sort of "sub-surface scattering": the object, when seen against the main light, is lit on its contours. The effect disappears when seen from the light direction.


Another main feature is a strong lateral shine, in the direction where the main light is coming from. The intensity of this effect can be tuned per-material or removed altogether (see properties below).


Other features:

  • Shader is opaque, and supports clipping (cut-out transparency) using the main texture's alpha.
  • Supports normal maps.
  • Supports emission map + color.
  • Supports fog.
  • No support for metallic maps *.
  • This is purely a shader for dynamic objects. No baking is supported *.

(*) = With some knowledge of Shader Graph, it should be easy to add these as needed.


🧱 MATERIAL PROPERTIES

Here's a description of the exposed properties:


Base properties

These are your typical properties (Base map, Normal map, Tint colour...) made to mirror the usual base properties of Lit shaders.


Shading styles

Choose between two modes. Each one displays different properties.


👕 1: Skin or Textiles

Features a hard distinction between light and shadow, and the specular is rendered as fine brush strokes.

  • Paintbrush strokes size: the size of the paintbrush strokes used for the specular.
  • Paintbrush strokes angle: paintbrush strokes are oriented to this angle, relative to the UVs.

👱🏾‍♀️ 2: Hair or Metal

Features an additional band of shadows, and the specular is more of a blotch with some noise.

  • Specular noise size: the size of the noise grain breaking the specular shape
  • Extra band thickness: the thickness of the extra stripe of mid-tone shadows.

Toon properties

  • Toon cutoff: this value determines which brightness value is the threshold between shadows and light.
  • Additional light cutoff: when using the additional light, it will only be shown if the dot product of the angle of the light with respects to this surface is above this value. Lowering this value will show bigger patches of light. The effect can be used to make sure that even if the light is very close, it doesn't flood characters.
  • Shadows floor value: can be used to get rid of fully black shadows, by lifting the value of black by this amount (i.e. setting it to 0.2 makes the darkest shadow point have a 0.2 brightness). The brightest point is unaffected, and will have a brightness of 1.
  • Strong rim strength: the brightness of the white rim effect. A value of 0 will make it disappear, a value of 1 makes it fully white. It can be brought up to 1.2, so the rim shines when using a Bloom post-processing effect.

SAMPLE CONTENT

The package uses open-source character Jammo. Thanks to Mix&Jam creator André for providing such a cool character to use.


SPECIAL THANKS

The package uses some open-source custom lighting nodes for ShaderGraph made by Cyanilux.