# AleToonURP **Repository Path**: Ale_F/AleToonURP ## Basic Information - **Project Name**: AleToonURP - **Description**: 基于Unity2021.3LTS(URP 12.x)开发的NPR二次元卡通渲染Shader。 该仓库仅包含AleToonURP。 - **Primary Language**: C# - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 1 - **Created**: 2022-11-27 - **Last Updated**: 2026-01-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: Unity, Shader, NPR ## README # 【AleToonURP Ver-1.2.1】 ***阅读中文版文档 [中文版本](README.md)*** \ ***Read this document in [English](README_en.md)*** ***[更新日志](CHANGELOG.md)*** ## 【概述】 --- 这是一个基于 `Unity 2021.3LTS(URP 12.x)` 开发的`NPR`二次元卡通渲染Shader。\ 实现了大多数二次元卡通渲染中常用的美术效果。\ 编写Shader时尽力保证其`性能高效`,以便它能够在大多数平台(主机或移动端)上使用。\ 同时开发了Shader的`自定义编辑器界面`,使创作者在使用时能够更加方便快捷。 ## 【用户手册】 --- **[中文版用户手册](Document~/UserManual.md)**\ **[English User Manual](Document~/UserManual_en.md)**\ 用户手册中详细说明了Shader编辑器界面上所有功能的`特性`与`使用方式`。\ 建议在开始使用AleToonURP之前浏览用户手册,以便`快速了解`并掌握。

## 【多样化的美术风格】 --- 通过编辑材质球属性,你能能够非常方便地实现各类`美术风格`的渲染效果。\ 开始创作前,建议先`明确目标美术风格`或找到`合适的参考图`。\ 再根据目标美术风格对材质球属性进行`针对性的编辑`。\ 这样更容易达到精准且优秀的美术效果。 ▼ AleToonURP/Lit\ \ ▼ Universal Render Pipeline/Lit(通用渲染管线)\ ▼ AleToonURP/Lit\ \ ▼ Universal Render Pipeline/Lit(通用渲染管线)\

## 【NPR风格的水面】 --- 实现了NPR风格的水面渲染效果。\ 根据水下深度对水体颜色进行插值变化。可自定义设置浅水颜色、深水颜色、透明度。\ 通过多层波形叠加来获得细腻自然的水面波浪效果。可自定义设置主次波形的缩放与强度、移动速度。\ 通过CubeMap来表现水面的场景反射效果。可自定义设置反射强度、模糊、菲涅尔效果。\ 通过对摄像机帧缓冲贴图采样,并进行扭曲与偏移,来实现水底物体的折射效果。\ 通过摄像机深度图来获得水下深度,实现水体与岸边接触的边缘区域泡沫。可自定义设置阈值贴图、阈值裁剪、距离、模糊与透明度\ ▼ AleToonURP/Water Plane\

## 【高效的性能表现】 --- 使用高效的方式编写Shader,并对其进行性能优化。支持SRP-Batcher、GPU-Instance等合批渲染方式。 ### **1.UberShader** --- 使用宏定义分支预处理的方式来制作UberShader。\ 根据材质球上的效果开关来生成对应的Shader变体。\ 提高Shader复用率与易用性,降低分支带来的性能开销。\ ### **2.SRP-Batcher** --- 支持Unity的SRP-Batcher功能,提高CPU端处理DrawCall预设置工作的效率。\

## 【丰富的渲染功能】 --- 实现了大多数卡通渲染的主流效果,并编写了自定义的ShaderGUI。使创作时的工作流程变得`清晰且高效`。\ 你能够根据折叠界面的顺序`逐步设置`材质球的各项`渲染功能`。按照美术效果的需求`单独`设置`打开`或`关闭`。

### **1.基础设置 Basic** --- #### 1.1.渲染队列 Render Queue #### 1.2.裁剪 Clip #### 1.3.模板测试 Stencil

### **2.基础贴图 BaseMap** --- #### 2.1.暗部阈值贴图 Shade ThresholdMap

### **3.法线贴图 NormalMap** ---

### **4.外描边 Outline** --- #### 4.1.纹理贴图 TexMap

### **5.边缘光 RimLight** --- #### 5.1.暗部遮罩 ShadeMask #### 5.2.遮罩贴图 MaskMap

### **6.高光 HighLight** --- #### 6.1.遮罩贴图 MaskMap

### **7.自发光 Emissive** --- #### 7.1.自发光动画 Emissive Animation

### **8.材质捕获 MatCap** --- #### 8.1.遮罩贴图 MaskMap

### **9.光照设置 Light Setting** --- #### 9.1.附加光照 Additive Light #### 9.2.光照开关 Light Toggle #### 9.3.阴影设置 Shadow Setting #### 9.4.内置光照 BuiltIn Light #### 9.5.光照方向锁定 Direction Lock