UnityShaderGraph滚动UV笔记

滚动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(切线空间,大多数情况默认即可)。

控制方向与速度的方法

  1. 加法滚动(基础原理) :直接 Time 加 UV。缺点是速度不可控(极快),且只能斜着滚。
  2. 拆分/合并节点(精确控制) :用 Split 拆出U和V,只让U加Time(往右滚)或只让V加Time(往上滚),再 Combine 合并。(新手练习推荐,直观理解原理)
  3. Tiling And Offset(实战首选) :直接连 Offset 输入即可,无需手动加Time。最推荐用法: 建立一个 Vector2 变量(x控制水平速度,y控制垂直速度),连入 Offset 即可,非常直观且高效。(进阶推荐用封装好的 Panner 节点,自带速度参数,一键滚动)

避坑知识点

实际项目中,UV滚动经常出现"边缘拉扯"卡顿现象。

解决方案: 必须在纹理导入设置里,将 Wrap Mode(循环模式) 从 Clamp(钳制) 改为 Repeat(重复)。这样UV超出0~1范围后才会无限平铺,滚动才丝滑连贯。

相关推荐
一隅论数智3 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
深圳老胡3 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
Because_of_Her13 天前
并查集-听课笔记
笔记·算法·并查集
彧azz3 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
陈卫军老师3 天前
陈卫军:把口味写在一张纸上,店才稳得住
经验分享·笔记·流量运营
`流年づ3 天前
人工智能学习笔记 - 补充
人工智能·笔记·深度学习·学习
qeen873 天前
【Linux】操作系统之进程介绍(二)
linux·笔记·学习·进程
从零开始的嵌入式之旅3 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
陈年老古董3 天前
MediaPipe 姿态检测与脸部关键点检测
笔记·python·opencv·学习·dlib
彧azz3 天前
操作系统时间管理与系统核心板块学习总结
c语言·笔记·学习·系统架构