Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
U

URP_Toon

> 编程语言
Open source

A Toon Shader in Unity Universal Render Pipeline.

1.3K stars0 likes1 views
WebsiteGitHub

About

A Toon Shader in Unity Universal Render Pipeline.

URP Toon Shader

  • Introduction
  • Properties
    • SurfaceOptions
    • Base
    • Shadow
    • Specular
    • Rim
    • Outline
    • AdvancedOptions
  • Multi Pass Batch
  • Reference
  • Licenses

Introduction

Simple toon shader in unity universal pipeline.

Genshin Impact Style(Model and Texture from miHoYo)

Properties

SurfaceOptions

Base

Shadow

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.

Need to add a script to the object, set the forward and left direction(ObjectSpace).

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

Rim

  • RimBlendShadow

1:RimBlendShadow=0 2:RimBlendShadow=1 3:RimBlendShadow=1 RimFlip=1

  • RimFlip

Flip RimBlendShadow

Outline

  • 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

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......

It will stop SPRBatch.

We can change the Rendering order like this by using RenderFeature:
Object1.Pass1-
Objcet2.Pass1-
Object1.Pass2-
Object2.Pass2......

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

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C#shadertoon-shaderunityurp

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言