A闪的 BLOG 技术与人文
UV流动动画是3D游戏制作动画中非常常用的一种动画方式。在传统的3D建模与贴图当中,我们使用固定UV将一张纹理贴在我们的模型当中。当针对贴图的UV进行偏移值计算的时候,我们可以针对不同像素点的位置贴入不同的纹理像素值。当在一段时间内这些UV偏移连续不停的进行变化的时候,就产生了UV流动动画。在unit当中制作UV流动动画也非常的简单。
下图就是我们使用Unity Shader Graph流动动画。
首先先制作一个基本的模型贴图,然后将我们的预设速度值与当前引擎所运行的时间做一个乘法,得出的结果可以赋给UV偏移值的X或Y轴,你也可以通过其他算法将偏移值进行不同方式的计算并分别赋值给X和Y以达到不同的流动方向。在本例中,我们只是预设了一个速度值,方便开发者在使用的过程当中调节流动的速度,同时乘以我们所运行的时间将此值赋给UV当中的Y轴偏移,使其按照一个向下移动的效果。下图中就是我们所制作的整个UV流动动画的一个Shader Graph结构。