Learn Unity Shader
June 10, 2025 · View on GitHub
学习 UnityShader 过程中的一些 Demo 记录。
大致分为两部分:
- 《Unity Shader 入门精要》里的一些 Shader 实现。
- 学习 Shader 过程中的一些效果实现及拓展。
Unity Version:2021.3.11f1
Star趋势
入门精要 Shader
基础光照(Lambert、半 Lambert、Phong、BlinnPhong 等) 透明度测试、透明度混合

广告牌(Board)
反射、折射、菲涅尔
Alpha Test 和 Shadow
序列帧动画
UV 动画
亮度,饱和度,对比度调整
![]() | ![]() |
|---|---|
| 处理后 | 原图 |
边缘检测及提取
![]() | ![]() |
|---|---|
| 在原图上叠加 | 边缘提取 |
高斯模糊
![]() | ![]() |
|---|---|
| 高斯模糊 | 原图 |
运动模糊
动画模拟
绳子(质点弹簧系统)
布料模拟(质点弹簧系统)
Bezier Mesh

CommandBuffer
局部后处理
景深
自定义烘焙
这里简单的对 mainTex 做了马赛克处理
Depth
深度图
扫描光线
几何着色器的基本应用
点图元和线图元
粒子爆炸
GPU Instance
草地渲染
后处理特效
坏电视效果

Bloom
![]() | ![]() |
|---|---|
| 原图 | Bloom |
模糊
![]() | ![]() |
|---|---|
| 原图 | 均值模糊 |
![]() | ![]() |
| 高斯模糊 | 径向模糊 |
Mask

描边

波纹

放大镜

UI Shader
老照片风格
径向溶解
其他 Shader
各向异性
玻璃
溶解

翻书

Flow Map
能量球

液体瓶
三维映射

InteriorMapping
InteriorMapping - CubeMap

InteriorMapping - 2D Atlas
Mask
Box Mask
Sphere Mask
2D Mask
描边
基于 Fresnel 的边缘光

基于法线扩张的描边
左边是 先渲染正面后渲染描边、右边 先渲染描边后渲染正面

基于法线扩张的遮挡描边

基于后处理的描边

基于后处理的遮挡描边

边缘检测

笔刷 - 基于 UV 坐标
笔刷 - 基于世界坐标
薄膜干涉(镭射布料)
曲面细分着色器
雪地交互

次表面散射
通透材质


屏幕空间次表面散射
左边:开启 SSS、右边:关闭 SSS

球面高斯-次表面散射(SG-SSS)
卡通渲染
卡通着色(色阶)

简易的卡通水

角色渲染
简易的角色渲染

PBR
自定义 PBR
PBR-各向异性
PBR-皮肤(SG-SSS)
Water
水体交互
阴影(Shadow Mapping)
Shadow Map
PCF
PCF(PoissonDisk)
PCSS
Support
If you find this project helpful and would like to support me, you can donate through the following payment code. Thank you very much for your support!






















































