本文首发于洪流学堂微信公众号。
洪流学堂,学Unity快人几步
洪流学堂公众号回复节点
,获取ShaderGraph节点详解PDF文件(带目录)。
UV Nodes UV节点
与UV相关的节点。
Flipbook 图象序列
创建一个图像像素列,作为UV输入。序列中序列图的数量是由输入的Width和Height决定的。当前显示第一个序列图是由输入参数Tile决定的。
这个节点经常用来创建贴图动画,通常用于粒子效果和sprite。方法是:将Time节点连到输入参数的Tile中,输出数据连接到Texture Sampler节点的UV输入参数中。
UV数据的(0,0)点是左下角。(0,0)点在预览窗口中显示为黑色。但是图像序列通常是从左上角开始,所以Invert Y参数默认是勾中的。可以通过设置Invert X和Invert Y来改变图像序列的方向。
Polar Coordinates 极坐标
将输入的UV坐标转换成极坐标。在数学中,极坐标系是一种二维坐标系,其中平面上的每个点由参考点的距离和与参考方向的角度确定。
这个节点的结果是将输入参数UV的x通道转换为距输入Center值对应点的距离值,并将y通道转换为围绕该点的旋转角度值。
这些值可以分别通过输入参数Radial Scale和Length Scale进行缩放。
Radial Shear 径向剪切
将类似于波浪的径向剪切扭曲效果应用于输入参数UV。扭曲效果的中心参考点由输入参数Center决定,效果的整体强度由输入参数Strength决定。输入参数Offset可用于偏移结果的各个通道。
Rotate 旋转
将输入值UV根据中心点Center进行旋转,旋转的量由输入参数Rotation决定。旋转量的单位可以通过Unit下拉框选择角度Degrees或者弧度Radians。
Spherize 球面化
将类似于鱼眼镜头的球形扭曲效果应用于输入参数UV。扭曲效果的中心参考点由输入参数Center定义,效果的整体强度由输入参数Strength定义。输入参数Offset可用于偏移结果的各个通道。
Tiling And Offset 平铺和偏移
这个功能我们会经常用到,一般只要有贴图的材质上都会有Tiling And Offset。
将输入参数UV的值,通过Tiling和Offset改变平铺和偏移。
Triplanar
Triplanar 是通过世界空间投影生成UV和采样贴图的一种方式。输入贴图Texture会被采样3次,世界空间的每个x,y和z轴上进行一次采样,然后将结果信息平面投影到模型上,并由法线或表面角度进行混合。生成的UV可以通过输入参数Tile进行缩放,最终的混合强度可以通过输入参数Blend进行控制。可以通过输入参数Position和Normal来修改投影。这通常用于大型模型(如地形)的贴图,大型模型使用UV坐标时会出现问题或效率很低。
输入贴图的类型可以使用下拉菜单Type进行切换。如果设置为Normal,法线将转换到世界空间,因此可以构造新的切线,然后在输出之前将其转换回切线空间。
Twirl 扭曲
将类似于黑洞的旋转扭曲效果应用于输入的UV。扭曲效果的中心参考点由输入参数Center决定,效果的整体强度由输入参数Strength决定。输入Offset*可用于偏移结果的各个通道。
小结
本文讲解了ShaderGraph众多Node中的UV Nodes。你可以收藏本文作为一个工具库。本系列已更新完毕。
洪流学堂公众号回复节点
,获取ShaderGraph节点详解PDF文件(带目录)。
你有没有饱受shader折磨的同学?你可以把今天的内容分享给他,或许你能帮到他。
《郑洪智的Unity2018课》,倾尽我8年的开发经验,结合最新的Unity2018,带你从入门到精通。