unity探索者之Shader Graph所有节点详解-Input篇

Input(输入)

1、Basic(基本)

1) Boolean(布尔)

在这里插入图片描述
  通过开关输出一个bool值。

2) Color(颜色)

在这里插入图片描述
  输出一个自定义颜色。

3) Constant(常量)

在这里插入图片描述

  输出一个常量,包含PI(π = 3.1415926),TAU(π * 2),PHI(黄金比例 = 1.618034),E(自然常数e = 2.718282),SQRT2(根号2 = 1.414214)。

4) Integer(整型)

在这里插入图片描述
  输出一个整数。

5) Slider(滑块)

在这里插入图片描述
  可自定义最大值最小值的滑块节点。

6) Time(时间)

在这里插入图片描述
  输出时间的相关值,包括Time(当前时间),sin(Time)(当前时间的正弦值),cos(Time)(当前时间的余弦值),Delta Time(当前帧时长),Smooth Delta(平滑的帧时长,类似于FixedDeltatime)。

7) Vector1-Vector4(一维向量-四维向量)

在这里插入图片描述
  Vector1等同于float。

2、Geometry(几何)

1) Bitangent Vector(顶点切线向量)

在这里插入图片描述
  提供对网格顶点或片段的双切线向量的访问,具体取决于节点所属图形部分的有效着色器阶段。输出值的坐标空间包含Object(对象)、View(视图)、World(世界)、Tangent(切线)四种。

2) Normal Vector(法向量)

在这里插入图片描述
  提供对网格顶点或片段的法向量的访问,输出值的坐标空间包含Object(对象)、View(视图)、World(世界)、Tangent(切线)四种。

3) Position(位置)

在这里插入图片描述
  提供对网格顶点或片段的位置的访问,输出值的坐标空间包含Object(对象)、View(视图)、World(世界)、Tangent(切线)、Absolute World(绝对世界)五种。(注:高清渲染管线使用相对摄影机作为其默认世界空间,通用渲染管线使用绝对世界作为其默认世界空间)

4) Screen Position(屏幕位置)

在这里插入图片描述
  提供对网格顶点或片段屏幕位置的访问,包含四种计算模式:

模式对应代码
DefaultOut = float4(IN.ScreenPosition.xy / IN.ScreenPosition.w, 0, 0);
RawOut = IN.ScreenPosition;
CenterOut = float4(IN.ScreenPosition.xy / IN.ScreenPosition.w * 2 - 1, 0, 0);
Tiledfloat x = (IN.ScreenPosition.x / IN.ScreenPosition.w * 2 - 1) * _ScreenParams.x / _ScreenParams.y;
Out = frac(float4(x, IN.ScreenPosition.y / IN.ScreenPosition.w * 2 - 1, 0, 0));

5) Tangent Vector(切向量)

在这里插入图片描述
  提供对网格顶点或片段的切向量的访问,输出值的坐标空间包含Object(对象)、View(视图)、World(世界)、Tangent(切线)四种。

6) UV(UV)

在这里插入图片描述
  提供对网格顶点或片段的UV坐标的访问,包含UV0、UV1、UV2、UV3四个UV通道。

7) Vertex Color(顶点颜色)

在这里插入图片描述
  提供对顶点颜色的访问。

8) View Direction(视图方向)

在这里插入图片描述
  提供对网格顶点或片段的视图方向的访问,也就是从顶点或片段到摄影机的方向向量。输出值的坐标空间包含Object(对象)、View(视图)、World(世界)、Tangent(切线)四种。

3、Gradient(梯度)

1) Gradient(梯度)、Sample Gradient(梯度采样)

在这里插入图片描述
  根据自定义梯度返回指定颜色的工具,Gradient和Sample Gradient配合一起使用,可以用来实现根据某些条件(比如时间)变色的效果。

4、Matrix(矩阵)

1) Matrix 2x2、Matrix 3x3、Matrix 4x4

在这里插入图片描述
  三种自定义矩阵。

2) Transformation Matrix(变换矩阵)

在这里插入图片描述
  为着色器中的公共变换矩阵定义以下8种4x4矩阵。
  Model:模型
  Inverse Model:逆模型
  View:视图
  Inverse View:逆模型
  Projection:投影
  Inverse Projection:逆投影
  View Projection:视图投影
  Inverse View Projection:逆视图投影

5、PBR(基于物理的渲染)

1) Dielectric Specular(电介质镜面)

在这里插入图片描述
  返回预设好的基于物理的材质,一共6种模式:

Material返回值
Commonfloat _DielectricSpecular_Range = 0.5;
float _DielectricSpecular_Out = lerp(0.034, 0.048, _DielectricSpecular_Range);
RustedMetalfloat _DielectricSpecular_Out = 0.030;
Waterfloat _DielectricSpecular_Out = 0.020;
Icefloat _DielectricSpecular_Out = 0.018;
Glassfloat _DielectricSpecular_Out = 0.040;
Customfloat _DielectricSpecular_IOR = 1;
float _DielectricSpecular_Out = pow(_Node_IOR - 1, 2) / pow(_DielectricSpecular_IOR + 1, 2);

2) Metal Reflectance(金属反射率)

在这里插入图片描述
返回一些预设好的金属反射率。
Iron:铁
Silver:银
Aluminium:铝
Gold:金
Copper:铜
Chromium:铬
Nickel:镍
Titanium:钛
Cobalt:钴
Platinum:铂
  如果使用PBR Master作为主节点,那么这个节点的输出应该是PBR的Specular端口(需要将Workflow修改为Specular)。

6、Scene(场景)

1) Ambient(环境色)

在这里插入图片描述
  提供对场景环境光颜色值的访问。如果Environment Lighting–Source设置为Gradient/Sky时,返回Sky Color。如果Environment Lighting–Source设置为Color时,返回Ambient Color。无论当前环境光源是什么,Equator和Ground端口始终返回Equator Color和Ground Color。

2) Camera(摄像机)

在这里插入图片描述
用于访问当前摄像机的各种属性。
Position:摄像机的对象在世界空间中的位置
Direction:摄影机的正向方向
Orthographic:摄影机是否是正交的
Near Plane:相机的近平面距离
Far Plane:相机的远平面距离
Z Buffer Sign:使用反向Z缓冲区时返回-1,否则返回1
Width:正交时的摄影机宽度
Height:正交时的摄影机高度

3) Fog(雾)

在这里插入图片描述
访问场景中的雾参数,返回指定位置的雾的颜色和密度。

4) Object(对象)

在这里插入图片描述
返回当前渲染对象的位置和大小

5) Reflection Probe(反射探头)!!!

在这里插入图片描述
  按照官方的说法是可以实现模糊效果,并且只支持通用渲染管线,不过没有搞清楚具体怎么用,这里留个记录,后续搞懂了就补上。
  生成的代码:Out = SHADERGRAPH_REFLECTION_PROBE(ViewDir, Normal, LOD)

6) Scene Color(场景颜色)

在这里插入图片描述
根据输入的UV访问当前摄像机的颜色缓冲区。

7) Scene Depth(场景深度)

在这里插入图片描述
根据输入的UV访问当前摄像机的深度缓冲区

8) Screen(屏幕)

在这里插入图片描述
用来访问当前屏幕的宽度和高度值。

7、Texture(纹理)

1) Cubemap Asset(立方体资源)、Sample Cubemap(立方体采样)

在这里插入图片描述
对立方体贴图采样并返回对应色值。
Cube(立方资源),由Cubemap Asset输出,必须是Texture Shape为Cube的图片
ViewDir(视图方向)
Normal(法线输入)
Sampler(采样器),自定义采样器状态
LOD(细节级别),用来实现模糊效果

2) Texture 2D Asset(2D纹理资源)、Sample Texture 2D(2D纹理采样)

在这里插入图片描述
这绝对是用的最多的节点之一,可与Texture 2D Asset配合使用,用来输出2D纹理的采样结果。
UV:修改采样的UV
Sampler:自定义采样器
Type:Default(默认),Normal(法线)
Space:Tangent(切线空间),Object(对象空间)

3) Sample Texture 2D Array(2D纹理采样数组)

在这里插入图片描述
功能等同于Sample Texture 2D,只不过输入的值是2D纹理数组。
Index:当前输出的纹理在Array中的索引

4) Sample Texture 2D LOD(2D纹理采样LOD)

在这里插入图片描述
与Sample Texture 2D相比,此节点多了一个LOD设置,用来实现模糊效果。

5) Texture 3D Asset(3D纹理资源)、Sample Texture 3D(3D纹理采样)

在这里插入图片描述
和Sample Texture 2D大体相同,只不过需要使用3D纹理资源。

6) Sampler State(采样状态)

在这里插入图片描述
用于自定义采样器的状态,前几个节点中的Sampler输入来源就是此节点。
Filter:Linear(线性)、Point(点)、Trilinear(三线性)
Wrap:Repeat(平铺)、Clamp(拉伸)、Mirror(镜像)、Mirror Once(一次镜像)

7) Texel Size(纹理大小)

在这里插入图片描述
用来输出纹理资源的宽度和高度。

  • 12
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值