滚动UV核心原理
一句话总结:用不断增长的 Time 数值去改变 UV 坐标,让纹理在平面上持续平移。 原图因为同时加了 U 和 V,所以斜着向右上角移动。

节点字段拆解
| 节点 | 输出/参数 | 类型 | 含义与作用 |
|---|---|---|---|
| Time | Time(1) |
Float | 自运行以来的秒数。用于驱动动画,乘以系数可控制速度。 |
| UV | Out(4) |
Vector4 | 模型自带的纹理坐标。重点知识点: x,y是U,V;z,w是UV1/UV2等额外通道(常闲置)。 |
| Add | A(4) / B(4) |
Vector4 | 将两个向量(UV和Time)相加,形成偏移量。注意: 输出是4维,但在接纹理时,Unity只识别前2位(U,V)。 |
| Sample Texture 2D | UV(2) |
Vector2 | 根据输入坐标取样颜色。属性: Type选Default(标准),Space选Tangent(切线空间,大多数情况默认即可)。 |
控制方向与速度的方法
- 加法滚动(基础原理) :直接
Time加UV。缺点是速度不可控(极快),且只能斜着滚。 - 拆分/合并节点(精确控制) :用
Split拆出U和V,只让U加Time(往右滚)或只让V加Time(往上滚),再Combine合并。(新手练习推荐,直观理解原理) - Tiling And Offset(实战首选) :直接连
Offset输入即可,无需手动加Time。最推荐用法: 建立一个Vector2变量(x控制水平速度,y控制垂直速度),连入 Offset 即可,非常直观且高效。(进阶推荐用封装好的Panner节点,自带速度参数,一键滚动)
避坑知识点
实际项目中,UV滚动经常出现"边缘拉扯"卡顿现象。
解决方案: 必须在纹理导入设置里,将 Wrap Mode(循环模式) 从 Clamp(钳制) 改为 Repeat(重复)。这样UV超出0~1范围后才会无限平铺,滚动才丝滑连贯。