Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chilimilk/urp_toon
A Toon Shader in Unity Universal Render Pipeline.
https://github.com/chilimilk/urp_toon
shader toon-shader unity urp urp-toon
Last synced: 7 days ago
JSON representation
A Toon Shader in Unity Universal Render Pipeline.
- Host: GitHub
- URL: https://github.com/chilimilk/urp_toon
- Owner: ChiliMilk
- License: mit
- Created: 2020-07-28T11:55:14.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-02-16T07:44:58.000Z (10 months ago)
- Last Synced: 2024-12-01T18:11:49.376Z (21 days ago)
- Topics: shader, toon-shader, unity, urp, urp-toon
- Language: C#
- Homepage:
- Size: 17.4 MB
- Stars: 1,101
- Watchers: 16
- Forks: 95
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# URP Toon Shader
- [Introduction](#Introduction)
- [Properties](#Properties)
- [SurfaceOptions](#SurfaceOptions)
- [Base](#Base)
- [Shadow](#Shadow)
- [Specular](#Specular)
- [Rim](#Rim)
- [Outline](#Outline)
- [AdvancedOptions](#AdvancedOptions)
- [Multi Pass Batch](#Multi-Pass-Batch)
- [Reference](#Reference)
- [Licenses](#Licenses)## Introduction
Simple toon shader in unity universal pipeline.![image-UnityChan](image/UnityChan.png)
Genshin Impact Style(Model and Texture from miHoYo)
![image-Genshin_Sample](image/Genshin_Sample.gif)
## Properties
### SurfaceOptions
![image-SurfaceOptions](image/SurfaceOptions.png)### Base
![image-Base](image/Base.png)
### Shadow
![image-Shadow](image/Shadow.png)#### ShadowType
##### DoubleShade
Adjustable two-layer shadow.(Reference UTS)##### RampMapShadow
Shadows based on rampmap.##### SDF_FaceShadow (Reference Genshin Impact)
Used for face shadow, sample a precomputed shadow mask to generate shadows.
Limit:symmetrical face uv.![image-SDFMask](image/SDFMask.png)
Need to add a script to the object, set the forward and left direction(ObjectSpace).
![image-SDFScript](image/SDFScript.png)
About how to generate sdf shadow mask.
Node:Generate mask in r16 format(antialiasing).https://zhuanlan.zhihu.com/p/389668800
#### SSAO (Add "ScreenSpaceAmbientOcclusion" RenderFeature)
Control SSAO strength.
#### CastHairShadowMask (Add "RenderFrontHairShadowMaskFeature" RenderFeature)
Cast a shadow mask in screen space for face shadow.(Check it on front hair material or something)
#### ReceiveHairShadowMask
Sample "CastHairShadowMask" for shadow.(Check it on face material)
### Specular
![image-Specular](image/Specular.png)
### Rim
![image-Rim](image/Rim.png)- RimBlendShadow
![image-BlendRim](image/BlendRim.png)
1:RimBlendShadow=0 2:RimBlendShadow=1 3:RimBlendShadow=1 RimFlip=1
- RimFlip
Flip RimBlendShadow
### Outline
![image-Outline](image/Outline.png)
- UseSmoothNormal : (if use this feature, you need to check "Read/Write Enbale" in the Import Setting of the model, and then rename the model to "XXX_ol":https://github.com/Jason-Ma-233/JasonMaToonRenderPipeline#%E5%B9%B3%E6%BB%91%E6%B3%95%E7%BA%BF%E5%AF%BC%E5%85%A5%E5%B7%A5%E5%85%B7ModelOutlineImporter)### AdvancedOptions
![image-AdvancedOptions](image/AdvancedOptions.png)## Multi Pass Batch
In the default URP, if render multiple pass shaders(outline), the Rendering order like this:
Object1.Pass1-
Objcet1.Pass2-
Object2.Pass1-
Object2.Pass2......
![image-BeforeBatch](image/BeforeBatch.png)
It will stop SPRBatch.
![image-NotSupportBatch](image/NotSupportBatch.png)
We can change the Rendering order like this by using RenderFeature:
Object1.Pass1-
Objcet2.Pass1-
Object1.Pass2-
Object2.Pass2......
![image-AfterBatch](image/AfterBatch.png)## 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
https://unity.cn/projects/china-unity-tech-week_linruofeng## Licenses
MIT
"Assets/UnityChan/License"
© Unity Technologies Japan/UCL