Shader Graph7-纹理坐标(上)

一、纹理与模型的关系

纹理是一张图片,就是下面左侧的图,把这个图片放到球体上,那么就得到我们平时看到的地球仪,这个过程就是UV映射,也就是将图片的二维坐标定位到三维空间上,也就是x,y变为x,y,z的形式。

二、打开Unity新建一个Materila,打开Shader Graph,将下面的图片复制到Textures下面,作为测试UV的图片。

Shader Graph7-纹理坐标(上)_第1张图片

这里我们使用TexCoord节点表示纹理坐标,如何通过加减乘除的运算来控制纹理坐标值。因为纹理坐标是u和v,是两个通道,所以我们的变量要选择Constant2Vector。然后我们把Preview改为立方体方便观察。

Shader Graph7-纹理坐标(上)_第2张图片Shader Graph7-纹理坐标(上)_第3张图片

Shader Graph7-纹理坐标(上)_第4张图片

然后我们尝试修改R的值为0.1,然后再修改G的值为0.1(R要改回0)

Shader Graph7-纹理坐标(上)_第5张图片 Shader Graph7-纹理坐标(上)_第6张图片

我们发现R的值控制就是纹理坐标U的值,G的值控制就是纹理坐标V的值。U值变大纹理图片会向左移动,V值变大纹理图片会上移动。

 乘法参数变为0.5,参数变为2,这里注意Constant变量,我们是要同时操作uv两个通道的值。我们发现当变量变小时,纹理是放大,当变量变大时,纹理是缩小。

Shader Graph7-纹理坐标(上)_第7张图片

Shader Graph7-纹理坐标(上)_第8张图片

除法和减法我们就不看了,因为与乘法、加法是相反的情况。

最后我们添加一个Time节点,让纹理动起来。添加一个Multiply是让纹理移动的慢一点。

Shader Graph7-纹理坐标(上)_第9张图片

再增加一个Sine节点让纹理来回运动,应为Sine函数是从-1到1的数值范围。

Shader Graph7-纹理坐标(上)_第10张图片

 三、我们打开Unity看一下,新建Shader Graph,第一个是Add、第二个是Multiply、第三个Time、第4个Sine。

 

Shader Graph7-纹理坐标(上)_第11张图片Shader Graph7-纹理坐标(上)_第12张图片

Shader Graph7-纹理坐标(上)_第13张图片

Shader Graph7-纹理坐标(上)_第14张图片

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(unity,游戏引擎)