Shader Graph8-Vector

一、三个向量

Vector叫做矢量或者向量,向量更偏向于数学,矢量更偏向于图形。下面三种Vector我们用的最多,红色叫Camera Vector相机向量、蓝色叫Surface Normal表面法线、黄色叫Light Vector光向量。

每个面都有法线,法线向量是这样的

 二、打开UE

表面法线VertexNormalWS

新建Material,叫做DemoVector,双击打开。添加法线向量,修改Preview显示物体为立方体。法线向量的节点叫做VertexNormalWS,直接连接到Base Color上观察一下。

正的x、y、z法线向量对应的颜色是红、绿、蓝,负的x、y、z的法线向量对应的颜色是黑色。

我们添加一个3通道Vector向量(0,0,1)与VertexNormalWS做点积,连接到Base Color上。

因为(0,0,1)是垂直向上的,立方体的所有面的法线与它点积之后,只有顶面的结果为1,所有只有顶面是白色的,其他面都是黑色的,也就是0。大家可以修改3通道向量的值试一试,看看效果。

我们也可以使用Mask节点让上面更简单一些,修改Mask的值,在B输入框中填入1。

Mask选择这里

Camera Vector相机法线

下面我们看一下,Camera Vector相机向量,Preview还是选择立方体。当我们旋转相机的时候,立方体面上的颜色就会发生变化,这个颜色表示就是相机的法线方向。这里要注意的是,官方对于相机法线的方向的说法是,由像素到相机的方向。

我们选择Top视图,立方体面的颜色为蓝色,选择Bottom视图,立方体面的颜色为黑色。注意左下角坐标轴的指向。

大家可以切换视图自己试一下就明白了。

https://mp.csdn.net/mp_blog/creation/editor/129989462这里是之前讲的结合DotProduct和Camera Vector实现的菲尼尔效果。

光向量Light Vector

我们把Light Vector连接到Base Color会出现下载的错误,因为材质的反射已经由引擎来实现。

在预览窗口选择Lit,材质就有个反射的效果。

三、打开Unity,新建Shader Graph,双击打开。

Normal Vector

Camera Vector

猜你喜欢

转载自blog.csdn.net/zhuziying99/article/details/130028345