第5章 · 表面风格化与两个案例 本章要回答的三个问题:Lit 图相比 Unlit 多出来的那些光照端口各自控制什么?卡通描边有哪几条实现路线、各自代价是什么?全息扫描效果里菲涅尔、扫描线与发光怎么协同? 为什么会有这一章 第 4 章的效果都发生在"颜色已经确定"的世界里,真实项目里的物体却活在光照下:同样一张贴图,正对光源亮、背对光源暗,材质的金属感、粗糙感全由光照计算决定。本章第一节用 Lit 图把这套光照接口过一遍——不求精通 PBR 理论,只求看清每个端口连着渲染管线的哪根管子。随后把 3.1 节的五分钟菲涅尔近似升级为两个完整案例:卡通描边与全息扫描,都按背景、操作、结果、解读、变式的完整链条展开。
本章要回答的三个问题:Lit 图相比 Unlit 多出来的那些光照端口各自控制什么?卡通描边有哪几条实现路线、各自代价是什么?全息扫描效果里菲涅尔、扫描线与发光怎么协同?
第 4 章的效果都发生在"颜色已经确定"的世界里,真实项目里的物体却活在光照下:同样一张贴图,正对光源亮、背对光源暗,材质的金属感、粗糙感全由光照计算决定。本章第一节用 Lit 图把这套光照接口过一遍——不求精通 PBR 理论,只求看清每个端口连着渲染管线的哪根管子。随后把 3.1 节的五分钟菲涅尔近似升级为两个完整案例:卡通描边与全息扫描,都按背景、操作、结果、解读、变式的完整链条展开。
这两个案例的选型有讲究:描边代表"改变几何"的路线(顶点阶段动手脚),全息代表"改变颜色"的路线(片元阶段做文章)。路线之别比效果之别更重要——掌握了路线判断,你面对任何新效果都能先问一句:这个效果该在哪条流水线上动手?
读完本章你能做到:看懂 Lit 主栈的核心光照端口并知道 Metallic 与 Smoothness 的常见取值组合;用顶点挤出法与片元后处理法两条路线分别实现描边,说清各自适合的场景;实现一个带扫描线、边缘光、闪烁三项可调的全息材质,并把其中可复用的部分预留成 Sub Graph 的雏形。
| 节 | 回答的问题 | 关键产出 |
|---|---|---|
| 5.1 PBR 核心输入实操 | 光照端口各管什么 | 金属度粗糙度对照实验 |
| 5.2 完整案例:卡通描边 | 改几何的路线怎么走 | 可调宽度的描边材质 |
| 5.3 完整案例:全息扫描 | 改颜色的路线怎么走 | 三要素可调的全息材质 |
需要第 3 章的菲涅尔节点链(点积、取反、幂)与第 2 章的属性暴露手法。5.1 节需要场景里有光源(默认的方向光即可),5.2 节需要一个封闭的模型(立方体或球体均可,镂空模型描边会露馅,原因正文里讲)。
本章两个案例都会在第 7 章被封装:描边做成 Sub Graph 供所有角色复用,全息的三要素拆成参数组。5.1 节的光照端口认知也是第 6 章水面案例的前提——水面的反光质感直接依赖 Smoothness 端口的表现。
"几何路线还是颜色路线"的判断可以练成条件反射,方法是给任何效果过三问。一问:效果是否改变轮廓或形状?改则几何路线优先(描边外扩、旗帜飘动)。二问:效果是否只改颜色与亮度?只改则颜色路线(全息、发光、渐变)。三问:效果是否需要"被挡住的部分也不显示"?需要则涉及裁剪或模板测试,超出两条基本路线,进阶话题。三问练习建议拿身边游戏的截图做:伤害飘字、武器附魔、隐身斗篷、弹坑边缘——每个都能三问出路线,练二十个后你会在看效果的第一秒就完成定位。
| 效果示例 | 轮廓变吗 | 路线判断 |
|---|---|---|
| 卡通描边 | 变 | 几何外扩 |
| 全息扫描 | 不变 | 颜色叠加 |
| 旗帜飘动 | 变 | 几何顶点位移 |
| 能量边缘光 | 不变 | 颜色叠加 |
两个案例开工前的自查清单:第 3 章的菲涅尔链能默连吗(两个案例的共同地基);属性暴露与参考名修改熟练吗(案例的三到五个参数都要暴露);分组框的画布习惯建立了吗(全息案例约十五个节点,不分组必乱)。三问里任何一问犹豫,先回对应章节把实验重做一遍——案例章的速度差异几乎全部来自前置节的熟练度,而不是案例本身的难度。
本章两个案例不会做完就扔:描边在第 7 章封装成组件(宽度衰减修正一并做进去),全息在第 9 章与 VFX Graph 握手(粒子继承同一份材质)。案例的"第二生命"是本书编排的一部分——你在案例里写下的每个属性名、留出的每个接口,都会在后续章节被再次使用。带着这个预期做案例,你会更理解为什么某些操作要"多此一举"地规范。