本节摘要:透明有两条技术路线:Alpha 混合让像素与背景按比例融色,观感细腻但排序复杂;Alpha 裁剪按阈值整像素丢弃,硬边但免费绕过排序。本节讲清两条路线的机制、设置步骤与选型标准,并给出多层透明叠加的正确姿势。
不透明的物体画到屏幕上就是"覆盖"——这个像素的颜色直接替换背景。透明的麻烦在于"覆盖几成":一个 Alpha 为零点五的红色像素,最终颜色是它与背景各占一半的混合结果,也就是说这个像素必须知道"背后已经画了什么"。这就是透明的两个根源性约束:透明物体必须在不透明物体之后绘制(否则背景还没画,混了个寂寞),透明物体之间要按某种顺序绘制(混合不满足交换律,先红后蓝与先蓝后红结果不同)。
第一条由渲染队列自动保证(Unity 把透明排在 Built-in 的透明队列);第二条是排序问题的来源,5.3 节坑一的成因。理解了这两条,透明相关的多数怪现象都能对号入座。

新建 Unlit 图,图形设置里表面选项选 Transparent(渲染节点会自动带上 Alpha 相关设置)。节点链极简:Color 属性接 Base Color,Vector1 属性 Opacity(滑条零到一)接 Alpha。保存赋给一个立方体,拖动 Opacity 滑条——立方体从实心到全透连续变化。
这个最简链上做两个进阶实验。实验一:渐隐动画——Opacity 位置换成 Fraction(Time * 0.2) 与 Smoothstep 的组合再取反,物体每五秒完成一次"实体到消失"的呼吸循环,传送门冷却的视觉语言。实验二:边缘不透明——把 5.3 节的菲涅尔链输出加到 Opacity 上,物体中心近乎全透、轮廓保持可见:隐身斗篷的标准处理,让玩家看得出"这里有个东西"。
新建 Unlit 图,表面选项勾上 Alpha Clipping(片元块出现 Alpha Clip Threshold 端口)。节点链:一张噪声贴图采样接 Alpha,阈值端口接固定值 0.5。保存赋给一个平面——平面出现雪花状的破洞,拖动阈值属性,破洞范围连续变化。这就是溶解效果的全部机制基础,6.4 节只是在这条链上加时间与边缘色。
两条路线的填充开销差异值得算一遍:混合路线所有覆盖像素都要读背景色再写回;裁剪路线被丢弃的像素在深度测试阶段就出局,后续着色与填充全部省掉。大面积植被用裁剪而不用混合,就是这个账。
场景里多层透明(雾加玻璃加光效)堆叠时,观感与排序都要管。观感侧:多层半透明叠加会反复混合,颜色饱和度容易失控,每层 Alpha 值应整体压低(零点二到零点四区间起调)。排序侧:同一渲染队列内的透明物体按渲染器排序,个别错序的顽固分子用材质的渲染队列微调(数值大的后画);粒子系统与模型透明交叠是重灾区,能合并的美术资源尽量合并。5.3 节全息坑一的处理手段在这里同样适用。
透明设置展开后不止一个选项:混合模式(Blend Mode)通常有 Alpha(标准混合)、Premultiplied(预乘)、Additive(加法)、Multiply(乘法)几档。Additive 值得单独认识:输出颜色直接加到背景上,Alpha 越大加得越多,画面只会变亮不会变暗——火光、魔法光柱、全息的标准选择,因为它"没有暗部",视觉上天然是发光体。Multiply 则只减不增,做阴影投影类效果。选型一句话:要遮住背景选 Alpha,要点亮背景选 Additive,要压暗背景选 Multiply。
大概率是排序抖动:两个透明物体距离接近,渲染器按深度排序的次序在帧间翻转,混合结果随之跳变。缓解办法:物体间拉开距离(治本);给顽固的材质固定渲染队列(强制次序);把其中一个改成裁剪路线(退出排序博弈)。先确认现象是否符合"距离接近"的特征再动手,别把采样或贴图问题误判成排序。
有一种折中方案值得认识:Alpha 裁剪加抖动透明(Dither)。做法是把一张规则图案(棋盘格噪声)与 Alpha 比较,低于阈值的像素按图案稀疏地丢弃——远看是半透明,机制上仍是裁剪。它保住了裁剪路线的全部优点(无排序、被丢像素零开销),代价是放大后能看到颗粒感。低端机的半透明大量使用这个方案,识别它的方法是把镜头拉近看像素级图案。本册不展开实现,知道方案谱系里还有这一档即可。
透明类问题的排查顺序在本节固化成卡片:第一查图设置(图形设置里表面选项是 Transparent 还是 Opaque,裁剪有没有勾);第二查 Alpha 链(Alpha 端口的输入范围是否在零一区间,Saturate 兜底了吗);第三查混合模式(Alpha、Additive、Multiply 的语义选对了吗);第四查排序(物体间次序与渲染队列)。四步覆盖 6.2 节全部机制点,打印成便签贴在显示器边的价值真实存在——透明问题的排查频率在效果开发里稳居前三。
能,常规手段是把阈值附近的硬切换成窄带 Smoothstep——但那会引入半透明过渡,等于往裁剪里掺混合,排序问题跟着回来。更聪明的做法是"边缘渐变贴图":用一张带灰度过渡的噪声图,让裁剪边缘本身带纹理——锯齿被图案感掩盖,机制仍是纯裁剪。两个思路的取舍:要平滑接受排序成本,要性能用图案掩盖。溶解案例(6.4)选的就是后者,当时你可能没意识到这个选择背后的权衡。
透明机制就位,下一节补上最后一块零件:噪声——溶解效果的"碎裂图案"从哪来,随机性怎么用节点造出来。