All Projects → SnutiHQ → Toon Shader

SnutiHQ / Toon Shader

Licence: mit
A character focused Toon Shader for Unity using Shader Graph.

Projects that are alternatives of or similar to Toon Shader

Skyboxplus
Basic skybox extensions for Unity
Stars: ✭ 324 (-4.14%)
Mutual labels:  unity, shader
Water2d Unity
A simple shader + example of a water surface with reflection in 2D
Stars: ✭ 335 (-0.89%)
Mutual labels:  unity, shader
Uieffect
UIEffect is an effect component for uGUI element in Unity. Let's decorate your UI with effects!
Stars: ✭ 3,449 (+920.41%)
Mutual labels:  unity, shader
Contactshadows
Experimental implementation of contact shadows for Unity.
Stars: ✭ 219 (-35.21%)
Mutual labels:  unity, shader
Unity Ui Rounded Corners
This components and shaders allows you to add rounded corners to UI elements!
Stars: ✭ 307 (-9.17%)
Mutual labels:  unity, shader
Videoplayereffects
Experimental special effects for VideoPlayer (Unity 5.6 new feature)
Stars: ✭ 252 (-25.44%)
Mutual labels:  unity, shader
Unity Script Collection
A maintained collection of useful & free unity scripts / library's / plugins and extensions
Stars: ✭ 3,640 (+976.92%)
Mutual labels:  unity, shader
Unity Shaders
✨ Shader demo - More than 300 examples
Stars: ✭ 198 (-41.42%)
Mutual labels:  unity, shader
Configurableshaders
Showing off the power of shader properties in Unity
Stars: ✭ 304 (-10.06%)
Mutual labels:  unity, shader
Standardgeometryshader
An example of a geometry shader with Unity's standard lighting model support.
Stars: ✭ 303 (-10.36%)
Mutual labels:  unity, shader
Raindropeffect
RainDropEffect for the Unity Asset Store
Stars: ✭ 320 (-5.33%)
Mutual labels:  unity, shader
Unitygraphicsprogramming
書籍「UnityGraphicsProgramming vol.1」のサンプルコードリポジトリ
Stars: ✭ 321 (-5.03%)
Mutual labels:  unity, shader
Noiseball2
A small example of procedural modeling with compute shaders.
Stars: ✭ 215 (-36.39%)
Mutual labels:  unity, shader
Unityurp Mobilescreenspaceplanarreflection
Reusable RendererFeature of MobileScreenSpacePlanarReflection
Stars: ✭ 260 (-23.08%)
Mutual labels:  unity, shader
Shinyeffectforugui
Shiny effect of uGUI, which does not need mask or normal map.
Stars: ✭ 204 (-39.64%)
Mutual labels:  unity, shader
Rdsystem
Reaction-diffusion system with CustomRenderTexture.
Stars: ✭ 271 (-19.82%)
Mutual labels:  unity, shader
Awesome Unity Shader
⛵ 关于炫酷的Unity3D Shader | About Cool Unity3D Shaders
Stars: ✭ 2,658 (+686.39%)
Mutual labels:  unity, shader
Unitywatersurface
Water Surface Simulation using CutomRenderTexture in Unity 2017.1
Stars: ✭ 190 (-43.79%)
Mutual labels:  unity, shader
Depthinverseprojection
An example showing how to inverse-project depth samples into the view/world space in Unity.
Stars: ✭ 296 (-12.43%)
Mutual labels:  unity, shader
Spheredissolve
Customizable procedural spherical dissolve shader for Unity3D, for all your customizable procedural spherical dissolve needs!
Stars: ✭ 311 (-7.99%)
Mutual labels:  unity, shader

Awesome Toon Shader

A character focused Toon Shader for Unity using Shader Graph. Using a C# helper script on the object to supply lighting data to the material, making it flexible and programmable. While it's not the most optimised and ideal approach for every scenario, it's a different take on toon shading and passing lighting data.

Improvements, forks and pull requests are welcome. Be sure to check out the tutorial to follow the process of building this shader from scratch.

Tutorial

How to build this shader from scratch:

Awesomeness & Features

  • Supports multiple light sources and types.
  • Adjustable shading bands.
  • Beautiful gloss and Fresnel effects.
  • Shade detection with Raycasting ("faking" reciving shadows on an unlit material).

Drawbacks

  • Not ideal for enviroment shading (In it's current configuration, could be repurposed to work better).
  • Doesn't receive shadows directly, but fakes it by turning light sources off/on, by testing visibility with raycasting.
  • Lighting is relative to the mesh center rather than the mesh surface position. This difference is usually not noticable, apart from when you are standing on top of a light source.

How to use

  1. Apply the AwesomeToonHelper script to your character (On the Game object with the Mesh renderer)
  2. Create a material with the AwesomeToon shader, and set this as the SourceMaterial input on the Awesome Toon Helper component.
  3. On the material set a Shading Gradient to one of the gradients in this repo, or make your own.
  4. Play around!

Material instancing (Sharing material between many characters)

By default the script will take a copy of your material and apply it to the model. Any changes to this copy (instance) will not be retained, this allows many characters to share the same source material and have individual lighting data. If you are making changes to the source material, uncheck instance material temporarily.

Troubleshoot

Error: Could not find Sub Graph...

If the Awesome Toon Sub node is not found in the Awesome Toon shader, delete it and add it back in again, then save.

Everything looks bright and washedout

Depending on the lighting setup of your scene, you might have to delete the "Baked GI" node for things to look right.

Shade detection doesn't work

Raycasts need a mask to work, set it to Default and add other relevant layers to the mark for it to detect if light sources are obstructed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].