MMD联动Unity学习笔记 Vol.45 Unity Shader Graph 节点解析:向量基础Input Basic

前言
这期我们跟着官方的视频学习Unity里关于Shader Graph的内容,讲师是来自大中华区的技术美术Sennett,感谢官方分享的视频。这期Up转得是第一讲:向量基础Input Basic(一)。


在使用ShaderGraph的过程中,最重要的部分是理解输入给各个节点的向量分别是什么。所以我们从Shader Graph的输入类,也就是Input节点讲起。这样可以使用我们更好地理解Shader Graph的工作流程。

这期主要内容是一维向量、二维向量、三维向量和四维向量的节点。
我们先来聊聊向量。在学习Shader的过程中,我们最常用的就是对各种向量的计算和处理,掌握了这些基本知识,相信你在Shader的创作过程中会更加的得心就手。在这之前,我们先简单地看看向量是什么?

在线性代数中向量:具有大小和方向的量都被称作为向量。
向量是有维度的…

最简单的就是一维向量了,Shader中计算到的长度和距离等信息,都可以被称作一维向量。

而大家熟悉的UV空间则是一个二维向量

三维向量的定义就更加广泛了,包含了我们经常打交道的XYZ轴坐标系

而四维向量的名字听起来可能比较陌生,但实际上我们在Unity中接触到的颜色信息,就是一个标准的四维向量。我们使用RGBA来表示,其他的例子也包含了四元数旋转和矩阵等概念。
ShaderGraph中如何区分向量的维度呢?

实际上,Shader Graph上的节点已经从颜色上就把这四个概念区分开了,蓝色代表一维向量,绿色代表二维向量,黄色代表三维向量,粉色代表四维向量。了解了基本的向量概念,再返回来看这4个节点是不是会熟悉很多呢?

二维向量有2个一维向量组成,可以表示为(X,Y),三维向量由3个一维向量组成,可以表示为(X,Y,Z),四维向量由4个一维向量组成,可以表示为(X,Y,Z,W),它们可以向其它节点输入你提供的各类向量,也提供了对应的输入来接收向量。