本文用于记录一些使用 Shader 实现的基础性效果
Unity2020.3.8f1
# 基础设置
创建一个空 Shader,可以设置 Graph 以满足需要。
# 顶点着色器
# 法线外扩
可以改变一个模型的大小
其中获取法线方向也可以使用:
通过将法线位置(物体本地位置)归一化得到法线,然后乘以一个数值来实现。
# 模型裁切
原理:
AlphaClip
的值如果比Alpha
的值大,则会不显示
简单效果预览:
加强版本
效果预览
# Remap 重映射
根据输入 In 在 InMinMax 中的插值,计算输出。(按照比例位置输出)
比如输入 In 为 0,InMinMax 时(-10,10),那么 In 在 InMinMax 的
位置就是 0.5,如果 OutMinMax 为(0,10),那么输出 Out 就是 5
公式为: Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y -
InMinMax.x)
# One Minus 1 减去
输出 1-in
# Step 阶梯
输入 in 大于等于 Edge 取 1,否则取 0
# 溶解
原理:
AlphaClip
的值如果比Alpha
的值大,则会不显示
# 边缘发光
效果预览
# Subtract 减法
A-B
# Saturate 0-1
将输入控制在 [0-1]
# 边缘发光
# 简单卡通效果
# Dot Product 点乘
计算 2 个向量点乘
# 表面叠加
# Tiling And Offset 平铺和偏移
这个功能我们会经常用到,一般只要有贴图的材质上都会有 Tiling And Offset。
将输入参数 UV 的值,通过 Tiling 和 Offset 改变平铺和偏移。