Shader Graph19-位置函数

一、打开Unreal,新建Material命名为DemoPosition,双击打开

Shader Graph19-位置函数_第1张图片

因为中心点为物体中心,所以将坐标值连接到Base Color上是上面的效果,然后在场景中添加一个球体,将材质应用在该球体上,按下w我们可以在场景中改变物体的坐标,法线颜色并没有随着位置的改变而改变。

Shader Graph19-位置函数_第2张图片

我们修改Absolute World Position,然后拖拽场景中的球体,会发现颜色随着物体位置的改变而改变。

Shader Graph19-位置函数_第3张图片

 二、上亮下暗效果

Shader Graph19-位置函数_第4张图片

选择StarterContent->Props->SM_Rock拖拽到场景,修改该物体的Material。

Shader Graph19-位置函数_第5张图片Shader Graph19-位置函数_第6张图片

添加红框的部分,将上明下暗效果叠加到已有的材质上。

Shader Graph19-位置函数_第7张图片

Mask(B)是只选择垂直方向,Multiply(,0.01)使黑白的颜色变淡,Add(,1)是使黑白的分界线向下移动,Power是增强现在效果,Lerp就是线性插值由Texture到黑白的一个渐变,Alpha设置为0.1。

三、相同的物体根据位置的不同shader不同

Shader Graph19-位置函数_第8张图片

        Object Position的是意思是物体的边缘在世界空间的位置,SplitComponents是将x、y、z三个坐标拆分通过两个Add节点进行累加,所以当物体在空间中改变位置时该值就发生变化,使用Sine使得结果在一定范围内变化。最后Multiply,Add节点将结果转化到0~1之间。这里需要注意的是,将每步的距离调整为1,然后Sine节点的Period设置为1.5,这样在场景中拖动球体才会看到白黑相间的变化。

Shader Graph19-位置函数_第9张图片

找到系统自带的岩石资源

Shader Graph19-位置函数_第10张图片

 我们还是修改M_Rock这个Material,添加我们之前讲的Shader,然后在场景中放置一些岩石,我们会发现随着位置不同,颜色的样子也会不同,这样很好的模拟了自然中的随机现象。Shader Graph19-位置函数_第11张图片Shader Graph19-位置函数_第12张图片

四、Unity的版本

注意Position的选项改为Absolute World

Shader Graph19-位置函数_第13张图片

上亮下暗Mask

Shader Graph19-位置函数_第14张图片世界坐标位置不同Shader的Mask不同 

Shader Graph19-位置函数_第15张图片

 

 

你可能感兴趣的:(Shader,Graph,unity,unreal,位置,随机变化)