URP Shader Graph
URP中的Shader Graph使用HLSL进行编写,同时提供了一系列可视化节点进行编辑。
节点
核心与数学逻辑
Add
加法,将两个数值相加,使结果变亮。
常用于高光叠加,在基础色上叠加一层光效。
Multiply
乘法,将两个数值相乘。
常用于遮罩/裁剪:用黑白图(0和1)控制哪里显示纹理;变暗效果。
Lerp
线性插值,根据 T 值 (0-1) 在 A 和 B 之间混合。
常用于混合纹理:例如根据高度混合草地和岩石;颜色过渡。
One Minus
数值反转,输出 $1 - In$。
常用于反相:将黑色变白,白色变黑。常配合 Fresnel 使用。
Power
幂运算,常用于锐化/对比度:让菲涅尔边缘更锐利,或收缩光圈范围。
Remap
重映射,将数值从一个范围映射到另一个范围 (如 -1~1 映射到 0~1)。
主要用于修正数据,如将正弦波 (Sine) 的负值修正为可用数值。
UV与坐标控制
Tiling and Offset
缩放和平移UV 坐标。
常用于纹理流动:连接 Time 节点到 Offset,制作流动的岩浆、水流或传送带。
Rotate
围绕中心点旋转 UV。
常用于旋转特效:制作魔法阵、螺旋丸、加载图标。
Twirl
产生漩涡状的扭曲 UV。
常用于黑洞/传送门的空间扭曲效果。
Polar Coordinates
将直角坐标转换为极坐标。
常用于径向特效,如将直线纹理变成圆形扩散的冲击波。
程序化视觉和噪声
Simple Noise
基础的云状噪声。
常用于烟雾、云层,配合透明度使用;溶解遮罩。
Gradient Noise
类似于柏林噪声,但更平滑。
常用于模拟自然地形、火苗的随机扰动。
Voronoi
细胞/泰森多边形图案。
常用于水面焦散 (Caustics)、干裂的大地、细胞壁、生物皮肤。
Checkerboard
棋盘图案,主要用于缺失材质占位、或是用于测试 UV 展开是否均匀。
光照与深度
Fresnel Effect
菲涅尔效应,根据视角和法线夹角生成边缘光。
常用于边缘发光,如能量护盾、丝绸材质、幽灵效果。
Scene Depth
获取摄像机到物体的深度距离,常用于软粒子,让粒子接触地面时变透明;水深雾效。
Scene Color
获取当前屏幕的渲染颜色,常用于热扰动/折射,制作玻璃、热浪扭曲背景的效果。
Normal Vector
获取物体表面的法线方向,常用于积雪效果:判断哪面朝上 (Dot Product with Up Vector) 来覆盖雪材质。
工具与修正
Step
硬切断,如果输入小于阈值输出 0,否则输出 1。
用于硬边溶解,卡通渲染的阴影分界线。
Smoothstep
软切断,在两个阈值之间平滑过渡。
用于平滑边缘,制作柔和的光晕。
Time
提供时间变量,用于一切动态效果的驱动源 (流动、闪烁、旋转)。
Split / Combine:
拆分或合并 RGBA 通道,用于只需要贴图的特定颜色通道作为遮罩时使用。