ShaderGraph 为什么Time控制uv流动会导致Voronoi变成成矩阵式移动?

ShaderGraph 为什么添加了Time节点控制uv流动会导致Voronoi从随机(图1)变成成(图2)矩阵式移动?
图1:

img

图2:

img

在ShaderGraph中使用Time节点控制uv流动,可能会导致Voronoi节点的输出变得不均匀,出现类似矩阵式移动的问题。这是因为,Voronoi节点基于输入的uv坐标计算噪声,而Time节点生成的时间参数本质上是周期性变化的,会导致Voronoi节点收到的输入参数也是周期性变化的,因此会出现矩阵式的变化。

为解决这个问题,我们可以使用一个更稳定的参数,比如节点中的Random节点,替代Time节点来控制uv流动,或者使用UV节点计算时间和位置的组合。

另一种方法是通过添加sin或cos等函数调整Time节点的输出值。例如,在Time节点的输出值中添加以下代码,就可以让其输出值变得更加均匀:

Mathf.Sin(_Time.y * 0.5)
这样可以通过对Time节点的输出值进行平滑处理,从而使Voronoi节点的输出值也变得更加均匀。