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(屏幕位置)


  提供对网格顶点或片段屏幕位置的访问,包含四种计算模式:

模式 对应代码
Default Out = float4(IN.ScreenPosition.xy / IN.ScreenPosition.w, 0, 0);
Raw Out = IN.ScreenPosition;
Center Out = float4(IN.ScreenPosition.xy / IN.ScreenPosition.w * 2 - 1, 0, 0);
Tiled float 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 返回值
Common float _DielectricSpecular_Range = 0.5;
float _DielectricSpecular_Out = lerp(0.034, 0.048, _DielectricSpecular_Range);
RustedMetal float _DielectricSpecular_Out = 0.030;
Water float _DielectricSpecular_Out = 0.020;
Ice float _DielectricSpecular_Out = 0.018;
Glass float _DielectricSpecular_Out = 0.040;
Custom float _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(纹理大小)


用来输出纹理资源的宽度和高度。

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

  1. unity探索者之Shader Graph所有节点详解-Master篇

    Master(主节点) 1.PBR Master(基于物理渲染的材质主节点) 输入端口 释义 Vertex Position 定义每个顶点的绝对对象空间顶点位置 Vertex Norma 定义绝对对象 ...

  2. unity探索者之Shader Graph所有节点详解-Utility篇

    Utility(实用) 1.Logic(逻辑) 1) All(全部非零)   如果输入的向量的所有值都非零,则返回true. 2) And(且)   如果A和B都为true,则返回true. 3) A ...

  3. unity探索者之Shader Graph所有节点详解-Procedural篇

    Procedural(程序) 1.Noise(噪声) 1) Gradient Noise(渐变噪声)   基于输入的UV生成渐变或柏林噪波,所产生噪声的尺度由输入Scale控制. 2) Simple ...

  4. ShadeGraph教程之节点详解8:UV Nodes

    本文首发于洪流学堂微信公众号. 洪流学堂,学Unity快人几步 洪流学堂公众号回复节点,获取ShaderGraph节点详解PDF文件(带目录). UV Nodes UV节点 与UV相关的节点. Fli ...

  5. ShadeGraph教程之节点详解7:Utility Nodes

    本文首发于洪流学堂微信公众号. 洪流学堂,学Unity快人几步 洪流学堂公众号回复节点,获取ShaderGraph节点详解PDF文件(带目录). Utility Nodes 工具节点 一些有用的工具节 ...

  6. ShadeGraph教程之节点详解6:Procedural Nodes

    本文首发于洪流学堂微信公众号. 洪流学堂,学Unity快人几步 洪流学堂公众号回复节点,获取ShaderGraph节点详解PDF文件(带目录). Procedural Nodes 程序化节点 通过程序 ...

  7. ShadeGraph教程之节点详解5:Math Nodes

    本文首发于洪流学堂微信公众号. 洪流学堂,学Unity快人几步 洪流学堂公众号回复节点,获取ShaderGraph节点详解PDF文件(带目录). 本文基于ShaderGraph 1.1.9 版本. M ...

  8. ShadeGraph教程之节点详解4:Master Nodes

    本文首发于洪流学堂微信公众号. 洪流学堂,学Unity快人几步 洪流学堂公众号回复节点,获取ShaderGraph节点详解PDF文件(带目录). Master Nodes 主节点 主节点是一张Shad ...

  9. ShadeGraph教程之节点详解3:Input Nodes

    本文首发于洪流学堂微信公众号. 洪流学堂,学Unity快人几步 洪流学堂公众号回复节点,获取ShaderGraph节点详解PDF文件(带目录). 注意 节点中很多输入为In(1)的其实是动态长度的Ve ...

最新文章

  1. 分页存储管理和分段存储管理
  2. 调试Release发布版程序的Crash错误
  3. Linux web服务器初始化设置
  4. 深度解析windows调试技术之一 [抓取user mode dump文件的几重境界]
  5. translateZ 带来的Z-index 问题
  6. 程序员挑战高薪,你必须会的十大面试题《一》
  7. 8 个Python技巧 每天工作效率高一点 升职快人一步
  8. 飞龙的程序员书单 – 思想、工程、架构、职业发展
  9. Python 标准库 csv —— csv 文件的读写
  10. request的各种方法大全
  11. Linux格式化为物理卷,使用linux的pvs命令格式化输出物理卷信息报表
  12. 超级安全!Python 合成多张图片到PDF格式
  13. sv信道模型是什么_信道模型(信道模型分类)
  14. 【AGC】年龄分级问卷全攻略
  15. 关于在控制面板上软件卸载失败的问题
  16. 锂电池参数的一些概念结合一块具体电池参数表的理解
  17. SVN:无校验和记录解决办法
  18. 学计算机i5九代,九代i5和九代i7区别
  19. Android第一行代码——第三章:控件的使用方法5A-00-1A-C4-8C-55(2009+jjy)
  20. 最新最全的免费股票数据接口--沪深A股实时融资融券数据API接口(六)

热门文章

  1. 从视频中截取图像opencv python
  2. Motion planning for self-driving cars课程笔记1:应用雷达数据生成占用栅格地图(Occupancy Grid Map)
  3. 计算机核心期刊(北大核心)投稿意见
  4. incsgo 可直接取回最好的国内CSGO饰品皮肤开箱网站
  5. 2022危险化学品经营单位安全管理人员特种作业证考试题库模拟考试平台操作
  6. python生兔子问题(递归算法)_python 实现兔子生兔子示例
  7. 【Android】Logcat使用
  8. php 提取数字,php如何实现只取数字的功能
  9. 用python进行数据分析举例说明_《利用python进行数据分析》读书笔记 --第一、二章 准备与例子...
  10. 关于移动硬盘插入后无显示的问题