Unity ShaderGraph常用节点功能分析3_Input

持续更新,不定时更新

(⭐常用度)

Input数值输入或获取

Basic普通输入


Boolean ⭐

1
布尔开关,经常和branch连用来设置节点分支

Color(很重要) ⭐⭐⭐⭐⭐

1
很普通的颜色

Constant

1
很普通的常量,有PI,TAU,PHI,E,根号2

Integer ⭐

1
很普通的整数

Slider(很重要) ⭐⭐⭐⭐

1
很普通的滑动条,要设置最大最小值

Time(很重要) ⭐⭐⭐⭐⭐

1
2
3
4
5
6
Unity内部时间量,可用于动态调试:
Time:Time.time 持续增长的量
Sine Time:sin(Time.time) 在-1与1之间环绕的量
Cosine Time:cos(Time.time) 在-1与1之间环绕的量
Delta Time:Time.deltaTime 帧用时
Smooth Delta:Time.smoothDeltaTime 平滑帧用时

Vectors(很重要) ⭐⭐⭐⭐⭐

1
很普通的向量结构体,有Vector1~4四种,都表示浮点数向量

Geometry几何输入


1
2
3
4
5
6
7
Object物体空间:以该模型物体锚点为零点的坐标空间

View视角空间:以活动摄像机为零点的坐标空间

World世界空间:以世界场景零点为零点的坐标空间

Tangent切线空间:以模型上所有面的法向量,切向量,副切向量为坐标轴,以顶点为零点的坐标空间

Normal Vector(很重要) ⭐⭐⭐⭐

1
2
模型表面顶点的法向量,有四种坐标空间(Object物体空间/View视角空间/World世界空间/Tangent切线空间)
标准法向量垂直于模型所有平面

Tangent Vector ⭐⭐

1
2
模型表面顶点的切线向量,有四种坐标空间(Object物体空间/View视角空间/World世界空间/Tangent切线空间)
指纹理坐标UV中U轴

Bitangent Vector ⭐

1
2
模型表面顶点的副切线向量,有四种坐标空间(Object物体空间/View视角空间/World世界空间/Tangent切线空间)
指纹理坐标UV中V轴

Position(很重要) ⭐⭐⭐⭐⭐

1
2
3
模型表面顶点的位置,有四种坐标空间(Object物体空间/View视角空间/World世界空间/Tangent切线空间)
所有顶点偏移特效都涉及position节点,尝试用split和combine分离组合,最终投送到Vertex Position里
尝试使用时间和噪音等数学节点来调制

Screen Position(重要) ⭐⭐⭐

1
2
3
4
5
屏幕坐标,模型表面顶点在屏幕上显示的位置,经常用于替换模型UV为屏幕映射UV
Default:默认屏幕坐标,已除clip space position W
Raw:原始屏幕坐标,未除clip space position W
Center:以屏幕中心为坐标顶点的空间
Tiled:重复以屏幕中心为坐标顶点的空间

UV(很重要) ⭐⭐⭐⭐⭐

1
模型表面纹理着色排布坐标,用来控制纹理像素信息的位置,UV最多支持四个

Vertex Color ⭐

1
模型表面顶点颜色,拥有RGBA四通道,极端情况下可能用来做遮罩

View Direction(重要) ⭐⭐

1
2
视角方向,从模型表面顶点到摄像机的方向向量,有四种坐标空间(Object物体空间/View视角空间/World世界空间/Tangent切线空间)
是摄像机世界坐标减模型世界坐标获得的信息

Gradient过渡输入


Gradient(重要) ⭐⭐

1
很普通的过渡色

Sample Gradient ⭐

1
获取一个过渡色,用0~1来控制过渡位置

PBR物理基准渲染输入


Dielectric Specular

1
高光介质系数,用于玄学计算不同材质的真实高光属性

Metal Reflectance

1
2
3
不同材质的反射比
如果PBR主节点使用Specular工作流,则输出Specular高光数
如果PBR主节点使用Metallic工作流,则输出Albedo反射率

Scene场景信息输入


Camera ⭐⭐

1
获取当前相机组件的参数,包括位置,方向等

Fog

1
获取场景雾效颜色和浓度

Object ⭐

1
获取材质附着物体的位置和缩放

Scene Color ⭐

1
获取片元着色器的颜色,获取当前摄像机的颜色缓存,但是超出了我的理解范围

Scene Depth ⭐⭐

1
获取当前摄像机片元着色器的深度缓冲区信息???

Screen

1
获取屏幕的宽高像素

Texture贴图纹理输入


Cubemap Asset

1
立方体天空盒文件,使用时需要加Sample Cubemap

Sample Cubemap ⭐

1
立方体天空盒采样,输出球面贴图,一般拿来做天空盒背景

Sample Texture 2Ds(很重要) ⭐⭐⭐⭐⭐

1
2
3
Sample Texture 2D:2D贴图采样,显示你所有输入的纹理
Sample Texture 2D Array:2D贴图数组采样,很难会用到
Sample Texture 2D LOD:带LOD的2D贴图采样,适用于需要LOD的情况

Sample Texture 3D ⭐

1
3D贴图采样,用于表现体积区域

Sampler State

1
所有采样节点里都有这么一个输入,用作重载抗锯齿和循环设置

Texel Size

1
纹素大小,用于获取纹理贴图的像素宽高

Texture 2D Assets

1
2
Texture 2D Asset:2D贴图文件,一般不会拿这个来装载贴图
Texture 2D Array Asset:2D贴图数组文件

Texture 3D Asset

1
3D贴图文件,一般不会拿这个来装载贴图