URP Toon by ChiliMilk - 1

Shaders & Effects

A Toon Shader in Unity Universal Render Pipeline.

Unity 2019.3.15f1MIT LicenseUpdated 69 days agoCreated on July 28th, 2020
Go to source

URP Toon Shader

Introduction

基于URP的通用卡通着色器,使用URP标准的PBR模型(Minimalist CookTorrance BRDF)进行改造,纯代码实现,没有使用ShaderGraph,兼容SPR Batch.
Universal Toon shader based on URP , use PBR lighting(Minimalist CookTorrance BRDF) in URP,use code without ShaderGraph,SPR Batch Compatible.

  • Unity 2019.3.15+、URP 7.4.1+

image-UnityChan

Properties

SurfaceOptions

image-SurfaceOptions

  • Workflow Mode : Specular or Metallic
  • Render Face : Front Back Both (For Forward Pass)
  • Alpha Clipping : ClipMask(裁剪遮罩),Threshold(阈值)
  • Stencil : 模板测试,用于实现眼睛的遮挡效果,参考UTS(Stencil Test,used to achieve transparent effects for toon eyes,reference from UTS)
  • Stencil Type : Mask-写入缓冲的物体,渲染队列要比Out优先(Things that want to write to the buffer,Render Queue Less than “Out”):
    Stencil {
    Ref[_StencilChannel]
    Comp Always
    Pass Replace
    Fail Replace
    }
    Out-从缓冲读取的物体(Read from the buffer)
    Stencil {
    Ref[_StencilChannel]
    Comp NotEqual
    Pass Keep
    Fail Keep
    }
    Stencil Channel : 1-255

Base

image-Base

Shadow

image-Shadow

  • ShadeMap : 用于全局照明颜色
  • UseRampMapShadow : 使用RampMap控制阴影衰减。
  • VOffset : RampMap采样的V坐标
  • ShadowMinus : 用于淡化阴影颜色
  • ShadowStep : 阴影阈值
  • ShadowFeather : 阴影羽化值
  • EnableInShadowMap : 固定阴影贴图
  • Receive Shadow : 接收阴影(ShadowCoord)

Specular

image-Specular

  • Specular
  • SpecularStep : 高光阈值
  • SpecularFeather : 高光羽化
  • Smoothness : 光滑度
  • HairSpecular : 各向异性头发高光
  • HairShiftMap : 切线偏移图、偏移强度
  • SpecularShift : 第一层高光偏移量
  • SpecularShiftSec : 第二层高光偏移量
  • SpecularSecMul : 第二层高光强度(*Specular)
  • SmoothnessSecMul : 第二层光滑度(*First Smoothness)
  • EnablesSpecularHighlights : 是否使用高光

Rim

image-Rim

  • EnbleRim :启用边缘光
  • BlendRim : 颜色插值
  • RimColor
  • RimPower : 强度
  • RimStep
  • RimFeather

Outline

image-Outline

AdvancedOptions

image-AdvancedOptions

  • Environment Reflections : 是否接收反射
  • Enable GPU Instancing : 使用GPU Instancing合批
  • RenderQueue : 渲染队列

Reference

https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project
https://github.com/Jason-Ma-233/JasonMaToonRenderPipeline
https://github.com/you-ri/LiliumToonGraph
https://github.com/Kink3d/kShading

Licenses

MIT

“Assets/UnityChan/License”

© Unity Technologies Japan/UCL

Show all projects by ChiliMilk