4.2 高级纹理应用:三平面映射与细节法线


4.2 高级纹理应用:三平面映射与细节法线

本节摘要:三平面映射放弃模型的 UV,改用世界坐标当采样坐标,从上下前后左右六个方向投影贴图再按朝向混合,专治斜坡与不规则模型的贴图拉伸。本节讲清它的原理、节点用法与性能代价,并顺带引入法线贴图叠加的细节增强手法。

先看拉伸有多难看

找一个斜坡模型(没有现成模型就用一个旋转了四十五度的立方体),把 4.1 节的贴图材质直接赋上去:斜面上贴图被明显拉长,砖缝变成糊状。原因不难懂:UV 是建模时"摊平"模型得到的二维坐标,摊平过程不均匀的地方,同样大小的一块 UV 区域对应的三维表面就忽大忽小,贴图自然变形。

手工重展 UV 是建模师的专业活,着色器侧有一个程序化的补救:三平面映射(Triplanar)。它的思路是不再用模型的 UV,改用顶点的三维位置坐标当采样坐标,从 X、Y、Z 三个轴向各投影一次贴图,再按表面法线朝向对三次结果加权混合——朝向接近上下方的区域用"上投影"的结果多些,接近侧面的区域用"侧投影"的多些。任何朝向的面总有一个方向的投影不拉伸。

图:三平面映射的投影与混合原理

图:三平面映射的投影与混合原理

节点用法与实操

URP 的节点搜索里直接输入 Triplanar 就能找到现成节点。它的输入很直白:贴图属性、Tiling 控制密度、Position 与 Normal 由节点自动取(空间默认世界,符合它的设计意图),输出采样后的颜色。实操三步:新建一个 Unlit 图;加 Triplanar 节点与 Texture2D 属性;输出接 Base Color,赋给那个斜立方体。保存后旋转立方体观察——贴图密度在所有面上保持一致,这就是它相对普通采样的全部卖点。

两个使用要点。要点一:它采的是世界坐标,所以同一个物体挪动位置时表面图案会"滑"(贴图钉在世界上而不是物体上)。对地形、岩壁这类不动的物体是优点,对移动的载具就是 bug——载具类模型请换回普通 UV。要点二:成本是普通采样的三倍(一张图采三次),并且三份结果都要参与混合。开放世界的大面积地形用它是常规操作(PC 端),手机项目里请只在特写物体上使用。

细节法线:一层贴图救活一个平面

三平面映射解决了拉伸,再补一个廉价细节手法。大平面贴图再高清,近看仍然平——因为颜色对了、凹凸感是假的。做法:加一张法线贴图(Normal Map),用同样的 Triplanar 或普通采样取出来,接到顶点块的 Normal 端口。法线贴图记录的是"每个像素的法线朝向偏移",光照计算时会把它当成真实起伏——成本只是一次采样加一点光计算,观感提升立竿见影。

注意 Unlit 图里接法线贴图是看不到变化的——Unlit 不算光照,法线信息没有消费方。这个实验要用 Lit 图做:新建一个 Lit 图,其他操作一样,旋转视角观察光照的细微起伏。这也是 Unlit 与 Lit 的一条本质差异的现实版注解:Lit 图多出来的那些主栈块,每一个都对应一类光照数据接口。

三平面映射的平铺控制细节

Triplanar 节点的 Tiling 输入是单个标量(三个轴共用),这与普通采样的二维 Tiling 不同——你无法分别控制横向与纵向密度。需要各向异性平铺(地板砖的长宽比)时,三平面映射帮不上忙,得回到普通 UV 方案。另外,世界坐标直接当 UV 意味着 Tiling 的数值尺度与场景尺度挂钩:一个单位对应一次平铺,大场景里通常要几十的 Tiling 值,数值没有对错,与美术确认密度预期后定。

细节法线的强度控制

法线贴图接进 Normal 端口后,凹凸强度往往过强或过弱。两个调节位置:贴图资产检查器里的高度比(Bumpiness 或相关字段)是全局缩放;图里对采样输出乘一个零到一的系数属性是逐材质调节。推荐后者——把强度做成属性暴露出去,同一个法线贴图在不同材质上的强度需求不同,属性化之后不用为一面墙重新导一张贴图。

问题:法线贴图接上后画面反而更怪,紫色或发黑?

两个常见原因。原因一:贴图类型没设对——法线贴图资产必须在检查器里标记为法线贴图类型,普通类型直接接会被当作颜色处理,出现诡异的紫色斑块。原因二:接错了空间——把法线贴图输出经过了不该有的空间转换,或者接到了顶点块的 Normal 而模型 UV 展不开。先查类型标记(十秒),再查链路,顺序别反。

混合两种细节的手法预告

一张表面往往需要两种细节叠加(大形态用三平面、微细节用普通 UV 法线)。混合的基本手法是把两路法线的 XY 分量相加(Z 保持),即"偏移量叠加"——这是法线混合最常用的近似。完整做法与代价在第 8 章性能话题里还会提到:每多一路法线就是多一次采样,叠加要克制。这里先记住结论:细节可以叠,但每层都要有存在的理由。

三平面映射的混合边界观察

三平面映射按法线分量加权混合,理论上边界处过渡平滑,实际观察大平面斜切交界处仍能看出轻微的"方向切换感"——两个方向的贴图投影在交界处以大约各半的权重混合,图案叠加出轻微的重影。缓解办法:贴图选低对比、弱方向性的素材,切换感被素材本身掩盖;对观感要求高的特写物体,回到手工 UV 方案。这不是三平面映射的缺陷而是它的机制代价——了解边界行为后,你能提前判断哪些素材适合它、哪些不适合。

两个方案的选择表收束

场景 推荐方案 关键理由
规整 UV 的角色道具 普通 UV 采样 成本最低,细节可控
地形岩壁与斜坡 三平面映射 免展 UV,密度统一
移动的载具 普通 UV 三平面会随位置滑动
特写大平面 UV 加细节法线 微起伏观感优先

这张表与 4.2 节正文的要点互为表里:正文讲机制,表格讲选型——遇到实际需求时从表格入手,好奇心上来再回正文补机制。

本节要点回顾

  • 拉伸源于 UV 摊平不均:斜面与不规则模型的重灾区,手工 UV 之外有程序化解法。
  • 三平面即三投影三混合:位置当 UV、法线当权重,任何朝向都有不拉伸的方向。
  • 代价乘三:三倍采样加混合,地形可用、移动端慎用、动态物体不适用。
  • 细节靠法线贴图:一次采样的成本换真实起伏感,但只在算光照的图里生效。

采样技术备齐,下一节进入本章正题:用 Time 驱动 Offset,让贴图沿任意方向匀速流动,完成传送带与流光两个形态的完整案例。


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