本节摘要:主栈是图的数据出口集合,分为顶点块与片元块两部分,块的组合由管线目标与材质类型决定。本节逐一解释 Unlit 图常用端口的真实含义,给出一端口一机制的速查表,并澄清"块只能出现一次""端口不连也有默认值"两条容易踩坑的规则。
把一张图想成一个函数调用:节点画布是函数体,主栈就是函数的返回值列表。GPU 执行完你的函数后,拿着这些返回值去做剩下的事——位置返回值拿去做投影,颜色返回值拿去写入渲染目标,透明度返回值拿去和背景混合。理解了这一层,"为什么有的端口连了没反应"就有了统一的解释方向:不是连线错了,而是渲染管线在当前设置下根本没用这个返回值。
主栈由块(Block)组成。块的数量与类型不是固定的:图形设置面板里切换材质类型(Unlit 或 Lit)与管线目标(URP 或 HDRP)后,块列表会整个重排。这也是跨管线移植时图会"散架"的原因——HDRP 的 Lit 图带着 URP 不认识的块,移过去只能重建。

Base Color:片元阶段的颜色出口,九成的图最终都汇到这里。注意 Unlit 图里它就是"最终颜色",没有光照参与;Lit 图里它是反照率(Albedo),还会被光照模型加工——同一个颜色端口,两种材质类型下语义不同,移植图时要留意。
Alpha:透明度出口。单独连它什么都不发生——透明效果需要三件套联动:Alpha 端口给值、表面选项里把混合模式设为 Transparent、必要时配合 Alpha Clip Threshold。这是初学者反馈最集中的坑,第 6 章会用完整案例把它讲透。
Emission:自发光出口。连进来的颜色不参与光照、不受理照亮暗影响,直接叠加到最终画面上,是辉光后处理的燃料源。做能量场、全息、霓虹效果都靠它。HDRP 下 Emission 相关设置更细,有强度倍数与颜色模式之分。
Alpha Clip Threshold:阈值裁剪出口。Alpha 值低于该阈值的像素直接被丢弃(一个像素都不画),高于则完全保留——没有半透明过渡,边缘是硬的。好处是被裁掉的像素完全不产生填充开销,草丛、栅栏、溶解效果的标配。与 Alpha 的连续透明是两条不同的技术路线,成本与观感差异在第 6 章对比。
Position 与 Normal(Vertex 块):顶点阶段的两个出口。Position 改顶点落点,是水面、旗帜、挤出描边的入口;Normal 改法线朝向,影响后续光照计算与描边方向。第 6 章水面案例会大量使用。
| 端口 | 阶段 | 一句话职责 | 典型应用 |
|---|---|---|---|
| Base Color | 片元 | 表面最终颜色 | 几乎所有图 |
| Alpha | 片元 | 透明度来源 | 透明、渐隐 |
| Alpha Clip Threshold | 片元 | 硬边裁剪阈值 | 草丛、溶解 |
| Emission | 片元 | 自发光叠加 | 全息、能量场 |
| Position | 顶点 | 顶点位置偏移 | 水面、旗帜 |
| Normal | 顶点 | 法线朝向 | 描边、形变 |
做一个五分钟小练习验证理解:在渐变图里加一个 Color 属性命名 GlowColor,模式开 HDR,强度拉到二以上;把它接到 Emission 端口,保存。如果项目 URP 设置里开启了后处理与泛光(Bloom),物体会出现光晕;没开泛光的话,你只会看到颜色比 Base Color 更"亮白"——这正好验证了 Emission 与后处理的关系:出口只负责把颜色交出去,怎么呈现取决于管线的后处理配置。
块不是只能被动接受:在主栈面板里可以给块改名(团队协作时把 Base Color 改名成"表面色"有助于沟通)、可以按 Add Block 增补透明相关块、可以拖动块在栈内的上下次序。排序有实际意义吗?有——同一个图里多个块按顺序执行,把频繁使用的块放上面纯属观感;但把与当前任务相关的块集中排列,能显著减少连线时在栈里上下来回找端口的时间。栈的组织也是画布可读性的一部分。
| 对比项 | Unlit 图 | Lit 图 |
|---|---|---|
| Base Color 语义 | 最终颜色 | 反照率,经光照加工 |
| 光照相关块 | 无 | 金属度、光滑度、遮挡等一批 |
| 特殊块依赖 | 少,自足 | 部分块依赖管线特性 |
| 适合场景 | UI、风格化、发光体 | 写实与半写实材质 |
这张表也是"选图类型"的决策依据:效果不需要光照参与(UI、发光符号、溶解演出)就用 Unlit,省掉一批永远不会连的块;需要光照反应就上 Lit,多出来的块每个都值得认识一遍(5.1 节)。
不会。着色器图是纯声明式的:连错最多报错或效果不对,删线重来即可,没有任何"弄坏"的风险。这个特性值得用来学习——看到一个陌生端口,随便喂个东西进去看预览反应,比查文档快。唯一的例外提醒:主栈设置类改动(混合模式、渲染面)影响的是材质状态而非连线,改之前知道自己在改什么就行。
"连了没反应"类问题的统一排查顺序:先看端口是否真的接上了(端口小圆点在连接后实心);再查图侧该输出是否被其他连线覆盖(一个输出口只能出一条线,分叉要用节点);然后查块侧设置是否启用(Alpha 要透明设置配合);最后查管线侧开关是否打开(Emission 要泛光配合)。四级排查从图内到管线,覆盖 2.3 节所有端口的"没反应"场景。
到此第 2 章的三件工具全部磨亮。下一章进入弹药库:把日常效果里高频出现的数学与逻辑节点族逐个过一遍,每个都配手算例题——这是全书案例章的底层储备。