4.1 采样与 Tiling And Offset 实操


4.1 采样与 Tiling And Offset 实操

本节摘要:采样节点按 UV 坐标从贴图上取颜色,Tiling And Offset 决定取图的密度与位置。本节用一张测试贴图做平铺与偏移实验,讲清 UV 坐标系的约定、包裹模式对滚动动画的意义,为 4.3 节的动画案例备好全部前置件。

贴图是怎么贴上去的

模型表面的每个点都带着一组 UV 坐标(横向叫 U、纵向叫 V,取值通常在零到一之间),采样节点拿着这组坐标去贴图上"对号取色":坐标 (0.5, 0.5) 就取贴图正中心的颜色。贴图本身不参与变形——变形的永远是 UV。记住这个主从关系,后面所有采样类问题的排查方向就清楚了:效果不对时,先怀疑 UV,再怀疑贴图。

图:UV 坐标系与 Tiling And Offset 的作用位置

图:UV 坐标系与 Tiling And Offset 的作用位置

Tiling And Offset 节点实验

它有两个输入(Tiling 与 Offset,都是二维向量)一个输出。做四组实验,每组只改一个数字,观察预览。实验一:Tiling 从 (1,1) 改为 (2,2),贴图在表面重复两次乘两次,密度翻倍。实验二:Tiling 改为 (4,1),横向密纵向疏——地板砖的长宽比调整就靠这种不对称平铺。实验三:Offset 的 X 从零拖到一,贴图整体横移一圈;拖过头越出一的边界,回到 Tiling 为一时的设定下贴图边缘会被拉出一条彩边或黑边——因为采样滑出了贴图范围,这就是包裹模式要解决的问题。实验四:把 Tiling 的两个输入都换成 2.2 节那样的 Vector1 属性,材质面板上实时拖动,找一遍手感。

实验三里那条难看的边值得单独说:贴图资产检查器里的包裹模式(Wrap Mode)字段有两个选项,Repeat 表示坐标越界后从头再取(无缝重复),Clamp 表示钉死在边界上(表现为边缘拉伸)。UV 滚动动画依赖 Repeat——滚动就是不断越界再绕回,没有 Repeat 就没有无缝滚动。

采样节点的完整输入

实验里的采样链已经覆盖了采样节点的主要输入:贴图槽(放 Texture2D 属性)、UV 输入(接 Tiling And Offset 的输出)、采样器状态(Sampler,一般不动,控制过滤与包裹行为)。输出有两路:RGB 或 RGBA 是颜色,Alpha 是透明通道。做效果时常把颜色与透明分开用——比如噪声贴图的 R 通道当阈值、Alpha 当遮罩,第 6 章溶解案例就是这么拆的。

一个与性能直接相关的细节写在提前面:贴图的过滤模式(Filter Mode)与压缩格式决定采样带宽。Bilinear 与 Trilinear 的视觉差异很小,但在移动端张数多了以后,压缩格式的选择对包体和内存的影响远大于过滤方式。这里先混个脸熟,第 8 章正式算账。

问题:Tiling 的负数是什么效果?

镜像平铺。Tiling 设为负一,贴图坐标翻转,相邻平铺块呈镜像关系——对没有明确方向性的贴图(石头、织物),镜像平铺能让接缝更隐蔽,是低成本隐藏接缝的手法。对有方向性的贴图(文字、箭头)则是灾难。知道这个用法存在,处理"接缝太明显"的美术反馈时多一个备选。

Mipmap 与各向异性:采样的两个隐藏参数

贴图检查器里有两个影响采样质量的字段值得提前认识。Mipmap 是贴图的逐级缩小版本链,GPU 按像素覆盖的屏幕比例自动选级——远处用低级版本,避免高频细节闪烁;如果贴图关闭了 Mipmap,远处的摩尔纹会非常刺眼。各向异性过滤(Aniso)处理"斜着看"的表面:地面贴图在掠射角度下如果不做各向异性处理,远处的纹理会糊成一片;调到二到四档,远处清晰度明显改善,性能代价很小。这两个参数都不在图里,但它们决定同一张图在不同距离的最终观感——"图没问题但远处发糊"的排查终点经常在这里。

Tiling And Offset 与贴图自身 Tiling 的关系

贴图检查器里也有 Tiling 字段(材质表面的默认平铺),与图里的 Tiling And Offset 节点是什么关系?节点版的优先级更高:图里接了 Tiling And Offset 节点后,材质面板上的 Tiling 字段不再生效(被节点输出覆盖)。团队协作时建议二选一:要么全项目统一用节点版(可进动画与逻辑),要么统一用材质面板版(美术自助调整),混用会出"改了没反应"的迷糊账。

采样节点输出的多路复用

一次采样的输出可以喂给多个消费方:颜色接 Base Color 的同时,R 通道可以接阈值判断、Alpha 可以接透明——同一张贴图在不同通道上"兼职",是省采样的第一手段。例如噪声图的颜色当云雾灰度、R 通道当溶解阈值:一张图两用,采样数不变。资源选型时优先考虑"多通道信息密度高"的贴图(各通道独立含义的图),而不是单一灰度图占一个采样位——这是贴图预算管理的入门心法,第 8 章算总账时会再次用到。

问题:Tiling And Offset 的输出能再接一个 Tiling And Offset 吗?

技术上能,逻辑上几乎总是错的。两级平铺嵌套后坐标变换互相叠加,最终图案难以推理,接缝与重复周期也变得诡异。正确的做法是把两级参数合并算好(数学上就是坐标的线性变换可以合并)再填进一个节点。类似的"链上冗余"还有串联多个平移节点——都指向同一个原则:坐标链保持最短,每一步变换都要有明确的几何意义。

平铺接缝的自查办法

判断一张贴图能否无缝平铺,有一个两分钟的自查动作:把贴图在图像软件里复制四份拼成田字格,观察十字接缝与四角交汇处——十字缝对不上是左右或上下首尾不一致,四角不融是四角像素颜色不连续。滚动动画对首尾一致的要求比静态平铺更高(视觉停留在接缝上的时间更长),所以 4.3 节案例前务必过一遍这个自查。发现接缝问题的补救:图像软件里的偏移滤镜(把图移一半再修补中缝)是标准做法,五分钟能修好一张普通材质图。

本节要点回顾

  • UV 是主人:贴图不变 UV 变,采样问题的排查永远从 UV 开始。
  • Tiling 管密度 Offset 管位置:两个二维向量,配合不对称数值调整长宽比。
  • Repeat 支撑滚动:包裹模式选 Repeat,坐标越界无缝绕回,滚动动画的前提。
  • 输出分通道用:颜色与透明、R 通道与 Alpha 各有用途,别一整张颜色用到底。

采样链搭好了,下一节处理"模型 UV 本身不规整"的麻烦——三平面映射,顺便为案例章的材质细节加一层法线。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U