WordPress类似论坛主题,济宁网站建设 优化培训,常见网站推广方式,企业网站维护更新一.什么是数据类型
首先为啥理解数据类型是很重要的。一些节点的接口插槽只接受特定类型的数据#xff0c;如果连接了不匹配的数据就会出现错误#xff0c;有些接口可以接受任何数据类型#xff0c;但是实际上只会使用到其中的一些。并且有时可以将多个数据流合并成一个来编…一.什么是数据类型
首先为啥理解数据类型是很重要的。一些节点的接口插槽只接受特定类型的数据如果连接了不匹配的数据就会出现错误有些接口可以接受任何数据类型但是实际上只会使用到其中的一些。并且有时可以将多个数据流合并成一个来编写一个更高效的shader 1.数据类型介绍
Float:用于需要单一数据通道的事物如金属度、高光度和粗糙度
Float2:带有两个通道通常用于存储UV坐标
Float3:用于需要颜色或向量的东西例如基础颜色和法线
Float4:用于存储带有Alpha的颜色
2.节点介绍
1.Append
可以将两个向量合并成一个新的向量更高维度的 2.AppendMany
用于将多个输入合并成一个数组并且可以选择输出的通道 3.Mask
用于从一个向量中提取特定的分量比如下面就分别提取了二维向量的RG通道 4.Swizzle
从一个向量如float2、float3或float4中选择和重新组合特定的分量 5.Split Components
将一个向量的每个分量分离成单独的输出但是这个节点只接受float3类型的输入否则会报错
3.注意
要注意根节点的basecolor 只需要一个float3的值如果输入了float4的值那么第四个值就会被忽略掉
二.扭曲着色器
当UV增加的时候纹理会向左上角进行移动可以用Time节点来控制UV滚动同时通过一个二维向量控制两个分量的滚动速度 现在是均匀地调整每个UV坐标但是我想要对每个像素的UV偏移是不同的这样就需要引入噪波
这是一个噪波纹理它的RGB分别是三个不同的噪声图 所以我们就可以将任意两个通道append到一个二维向量然后对UV进行偏移同时乘上一个很小的影响范围例如0.03就会有一个扭曲的效果就像这样 但是目前还不是动态的所以还要加上时间的影响通过跟随时间变化的UV来对噪声贴图进行采样但是即使是这样我们的图案现在变化扭曲的有些重复所以通过采样另外两个不同的噪声通道并且给予不同的UV滚动速度和上一个采样的结果来相加这样之后我们就得到了一个不再循环的扭曲图案。
最终效果 总结
这个方法用来做扭曲非常不错可以用来做火焰的热浪或者带有涟漪的水可以用这个做折射效果或者只是用来做某个在摇摆的物体或者是做某个粒子系统。