概念页
阴影的美术功能与假阴影
Shadow Visual Functions & Faking
现以第 3 版 Ch3「Shadows and Occlusion」为准。 阴影与照明同等重要;occlusion 是可与常规阴影结合的柔和变暗。第 3 版新增 occlusion sandwich 等合成向手法。算法细节链图形学阴影/AO 页,本页偏美术功能与 cheat。
原理
阴影的视觉功能
- 定义空间关系与接触(脚是否沾地、手是否握住物体)
- 揭示另一角度的剪影/形体
- 强化构图与对比
- 暗示画外空间
- 整合元素;让墙真正「挡住光」
阴影外观
尺寸与透视、颜色(自然做法 vs 参数作弊)、软硬选择。硬影适合小而远的强光源;软影适合大面积/近距光源。
算法选择(美术向一句话)
- Depth map shadows:快、可控;需管分辨率、framing、bias、漏光;第 3 版仍保留(含与 raytracing 混用)。
- Raytraced shadows:准、支持透明等;代价与采样、trace depth。
- 软影:depth map 滤波、或 area light / light radius 的光线追踪软影。
详解见 阴影贴图、软阴影 PCF 与 PCSS 等。
Occlusion 与 Occlusion Sandwich(第 3 版重点)
Ambient occlusion 模拟「角落更暗」的整体接触感,可单独成 pass。
Occlusion sandwich(合成三层):
- 底层 Fill pass:均匀柔和的环境/反弹照明,可几乎无清晰影;可分区带色(如左墙反红、右墙反蓝)。
- 中层 Occlusion pass:与 fill 相乘(multiply),制造极软接触影;常可省掉 fill 上昂贵的超软光线追踪影。
- 顶层 Key pass:需要清晰自有阴影的主光,用 add(Nuke plus / PS linear dodge)叠上。
Fill 单独看会「缺影」;三层合完后不应一眼穿帮。Occlusion 参数(max distance、spread、采样)与透明/折射对齐问题见原文 Ch3;合成更多 pass 见 Ch11。
假阴影 / Cheat
缺接触时补 blob 影;用 shadow-only 灯、调 shadow color 做诊断或特效;shadow objects 等——目的是服务空间可读,而非欺骗成无动机的脏迹。
应用(游戏侧)
- 实时:CSM/VSM + SSAO/GTAO;过场可烘 AO 或用 sandwich 思路在后期叠接触暗。
- Look Dev:先保证接触影与主光影方向一致,再加风格化。
- 与 Dinur 阴影的真实感要素 互证:Birn 重功能与 sandwich;Dinur 重真实感检查。
取舍
- Sandwich:灵活、可省软影成本;依赖合成与线性工作流(multiply/add 语义)。
- 第 1 版阴影章无系统 occlusion sandwich;第 3 版将 Occlusion 写入章名并给完整配方。
出处
- Ch03 · Shadows And Occlusion
- birn_j_digital_lighting_rendering.pdf
- Jeremy Birn《Digital Lighting & Rendering》第 3 版(New Riders, 2014, ISBN 978-0-321-92898-6)
- 对照:Ch04 · Shadows 第 1 版 OCR
相关页面
游戏美术三点布光Three-Point Lighting经典 key / fill / backlight(rim) 术语页。第 1 版独立成 Ch3;第 3 版并入 Ch5 角色章,并强调变体、反公式化,以及 bounce/spill/kick/spec 等扩展。角色动画、SSS、眼发等深度内容见 生物与角色灯光。游戏美术灯光工作流与光源类型Lighting Workflow & Light Types现以第 3 版 Ch2 为准。 3D 少有「美丽意外」——要控制流程(何时开灯、反馈环、命名与版本)、选对光源类型,并用衰减、diffuse/spec 分离、light linking、cookie 等手段细化。第 3 版新增 Physically Based Lights(IES/光度学灯) 实践。游戏美术光的品质:软硬、衰减与 ThrowQualities of Light现以第 3 版为准。 第 1 版独立 Ch5「Qualities of Light」;第 3 版把品质讨论拆入 Ch1(识别光源)、Ch2(衰减/cookie)、Ch4(throw patterns)等。本页汇总美术向「光长什么样」:软硬、衰减、投射图案(gobo/cookie/throw)。游戏美术环境与建筑布光Lighting Environments & Architecture第 3 版 Ch4 讲自然环境与建筑布光:日光(太阳+天空+spill+间接)、室内自然光、practical lights、夜景、用明暗分区表现距离与深度。本页侧重 Birn 的动机 / cheat / 搭建套路;大气公式与感知清单见 Dinur 页,不在此重复。游戏美术分层渲染与合成 PassLayered Rendering & Passes现以第 3 版 Ch11 为准。 Layers(按物体/组)与 Passes(按贡献:diffuse/spec/reflection/shadow/ambient/occlusion/beauty/lighting/GI/mask/depth)支撑后期控制;含实景底板匹配与合成色彩管理。游戏侧类比 GBuffer/AOV。图形学环境光遮蔽Ambient Occlusion环境光遮蔽 (AO) 是余弦加权后半球上未被遮挡的比例,用来在光照缺乏方向变化时仍给出形状线索(缝隙变暗)。它由 Landis 在 ILM 为《珍珠港》开发,可离线烘焙,也可在物体空间或屏幕空间动态计算(SSAO、HBAO、GTAO 等)。AO 适合漫反射和平滑环境光,不适合点光源或小面光源的可见性(RTR4 11.3 节)。图形学阴影贴图Shadow Mapping阴影贴图 (Williams, 1978) 先从光源位置渲染深度,再从相机渲染时把每个点到光源的距离与贴图中存的深度比较:更远就在阴影中。它开销可预测(生成约与图元数成线性、查询为常数时间),非常适合 GPU,是任意表面阴影最常用的算法。主要问题是分辨率、深度精度带来的混叠、阴影痤疮和漏光。图形学软阴影 PCF 与 PCSSSoft Shadows with PCF & PCSS百分比渐近过滤 (PCF) 在阴影贴图上取多个样本,分别与表面深度比较后混合结果,得到伪软阴影,但半影宽度恒定。PCSS 先搜索附近遮挡体的平均深度,再据此决定过滤宽度,从而在接触处硬、远处软(接触硬化)。游戏美术阴影的真实感要素Photoreal Shadow EssentialsDinur Ch8:阴影没有神秘「种类」,但制作上要抓住软硬(本影/半影)、影色、重叠与嵌套、接触/邻近影。本页补 Birn「影的构图功能与 cheat」与图形学阴影算法之间的外观检查清单。图形学方向遮蔽Directional Occlusion方向遮蔽用比单个 AO 标量更有表现力的方式记录"哪些方向被挡住",例如地平线角、可见性锥(环境孔径)、球面有向距离或球谐。它主要用于面光源和环境光照的软遮蔽,以及凹凸细节自阴影、超大地形等阴影贴图分辨率不够的场合;对点光源,专门的阴影技术质量更好(RTR4 11.4 节)。