Morioh's Toon Shader

Available here:
Booth: Morioh's Toon Shader - morioh - BOOTH
Gitlab: Morioh / Moriohs Toon Shader · GitLab

You dont know how to use the Shader ? Here is a manual you can read:


About this Shader

The Goal was to make a Toon/Master Shader that not just correctly respects the entirety of Unity’s Lighting System in a NPR Workflow but would also include several PBR approaches for different features.

A good amount of the visual Lighting knowledge came from the VRChat Shader Development discord group.

It’s made with the end user in mind, meaning that by default only the basic options are visible in the Inspector and all the Advanced stuff is hidden unless you really need them. This can be toggled at the top of the Inspector and keeps all the bloat away for beginners.

Also the goal was to make a Master Shader like this that would be fully supported by the Amplify Shader Asset so other developers can use it as a Template.

In the end performance an visuals are the two things that matter the most and you will get the best of both worlds using this Shader. Usually making a Surface Shader like this via Amplify hurts performance pretty badly but thankfully Kaj provided me his Shader Optimizer which improves performance to the degree of a self written Shader and even better performance than that. I’ve consistently got 50-55% improvements in rendertimes using the optimizer and many other devs use it too.



Features included:

  • Texture Saturation

  • Pixel, Vertex and Indirect Light Shadow Ramp Offset, Opacity and Color option

  • Dithering with custom Texture support

  • Step Based Cel Shading

  • Occlusion Map support

  • View based Shadow and Emissive Rim

  • Normal and detailed Normal Map support with a masking Function

  • Basic Emission with a Light dampener

  • PBR, Toon and Anisotropic(GGX and Blinn) Specular Highlights

  • Four Layer Matcap with a Mask and other options

  • Rim Light with several options

  • Subsurface Scattering with several options

  • PBR Reflections with Fallback to a selectable Baked Cubemap

  • Two Emission Scroll systems with llealloo’s AudioLink

  • Flipbook

  • Main Texture HUE Shift Function

  • Dissolve and Materialize Function

  • A whole Set of Render options for Blend, Stencil and Depth options that are available in Unity



Versions:

  • Basic = A bare bone default version which is trimmed to only include necessary settings and Functions for Lightweight rendering, easy setup and best Performance.

  • Advanced = This Version includes all Functions and Features listed in [Features included] for the best possible looking Toon or PBR outcome that you want to achieve.

  • You can switch between the two versions via Shader Feature Toggle



Variants:

  • Opaque
  • Cutout
  • Outlined
  • Transparent


Showcase Video

//Disclaimer

This Shader is entirely made with the Amplify Shader Editor Asset.

This Shader does not support Deffered Rendering nor Lightmap Baking and should not be used for Worlds but rather for Avatars specifically.

Tested with Unity 2019.4.20f1, 2020.3.11f1, 2021.1.10f1


Last Words:

I want to thank Xiexe#0001 heavily for inspiring me to create my own Toon Shader ! You should definitely check out his Stuff.

And a special thanks to Quinix#0001 to help me out with some lighting trouble i’ve had in the beginning of this Project since i’d probably have dropped it at some point because of it!

Also i want to thank ACIIL#4694 for providing me with his approach for a really good Cubemap Fallback and general Light limiter.

The same goes for Lyuma#0781 for helping me out with some Surface Shader workarounds for specific things.

And for Kaj for providing me his Optimizer !

For support or questions, contact me on Discord. Morioh#0041

2 Likes