跳到主要内容
腾讯题库 · Q08

原题 Q08 · 当前收录 7 / 49

学习状态 未开始

光照衰减

概念理解 lighting · attenuation 对应课程:PBR 与光照

面试官问

PDF 第 17 页

请解释“基于物理的光照衰减”与“美术调整衰减”的区别,腾讯项目中更倾向哪种方式?为什么?(常问题,价值匹配)

学习进度

0/9 已勾

只保存在这台浏览器;勾满 9 项即视为本题完成。

先把题目说成人话

把一盏小灯放在黑屋中央,沿直线摆五张完全相同的白卡。离灯最近的卡很亮,越往后越暗。现在关卡美术提出另一个要求:最远处是玩家必须经过的路口,希望它还能读得清。题目真正要比较的,是“按光在空间中自然摊开的规律变暗”和“为了构图、玩法重新塑造这条明暗曲线”有什么区别。

前一种基线叫反平方衰减(Inverse-square Attenuation);后一种人为重塑叫艺术化衰减(Artistic Attenuation)。灯在某个方向发出多少光叫光强(Luminous Intensity),落到表面上的量叫照度(Illuminance)。先把这条主线看清,再讨论公式、单位和引擎的有限作用范围。

这是虚构教学故事,不是个人项目经历。

场景:先让问题变得看得见

镜头固定不动。五张白卡尺寸、材质和朝向完全一致,只改变它们到灯的距离。先拍一张物理基线,再复制同一镜头,只让美术曲线托起中远处。这样看到的差异才来自衰减方式,而不是曝光、材质或表面方向偷偷变化。

(右脑)画面:第一张白卡紧挨着灯,亮得几乎发白;第二张退到两倍远,已经暗下去很多;后面的卡继续平稳融入黑暗。小明为了照亮路口,直接把整盏灯加强,结果近处白卡先亮到失去细节。影片倒回去,小红保留近处原样,只在中远段轻轻托起曲线,并让光在最远边界前平滑收掉。现在路口能看见,近处也没有被一起冲白。两版画面看起来都能用,但只有第一版可以直接拿同一把物理尺跨场景比较;第二版多了一层明确的美术意图。

(左脑)对表:固定光强、曝光、材质和白卡朝向后,理想点光源在垂直接收面上的照度满足 E=I/r2E=I/r^2。这里 II 是光强,采用物理灯光单位时可用坎德拉;rr 是灯到表面的距离,若项目约定一单位为一米,就以米计;EE 可用勒克斯。真实斜面还要乘入射余弦,不能把朝向变化算进距离衰减。引擎中的 Range 是有限作用窗口,艺术曲线是额外的无量纲修正;二者都会改变最终结果,但都不应冒充理想反平方本身。

小明:先形成一个完整猜测

小明把作用范围拉大,又把灯强度提高,看到远处路口亮了,便判断“物理衰减已经调好”。但 Range 主要决定灯在多远处停止作用以及边缘怎样收掉;提高强度则把整条曲线一起抬高。两只旋钮都没有单独解决“只托中远处”的需求。

这个失败没有否定玩法目标。它只说明:让路口可读是一项美术要求,不能因此把所有改变都重新命名为物理规律。

小红:把猜测放回现实检查

小红先关掉所有艺术修正。白卡从距离 rr 移到 2r2r,在相同朝向与曝光下,理想照度降为原来的四分之一。这是可以复算、可以迁移到另一张地图的基线。

随后她只打开一条受限曲线:近端权重保持 1,中远端可以在规定区间内托亮,边界仍连续归零。她同时检查三个结果:近处是否过曝,远处玩法信息是否可读,前后景层次是否仍然存在。艺术调整由这些目标验收,不由“看起来更物理”来证明。

我:用检查结果修正模型

我会把“共同基线”和“项目覆盖”分成两层。材质校准、曝光和普通灯光先使用一致的物理衰减;确有构图或玩法需要时,再开放有默认值、有上下限、能回滚的艺术曲线。关键玩法灯可以有单独规则,但规则应进入配置与审查,不能藏成某个着色程序里的神秘常量。

原题还问腾讯项目怎样选。当前没有具体项目规范或捕获,不能把某一种做法写成腾讯全公司的事实。若让我给出工程选择,我倾向“物理基线加受控艺术调整”:它同时保留跨资产、跨场景的一致性,也承认玩法可读性和风格化项目会需要例外。最终仍以目标项目的渲染规范为准。

(右脑)画面修正:再次播放白卡影片时,先出现的是一条任何人都能复现的自然变暗路线。美术没有把这条路线擦掉,而是在它上面盖一张透明的修正片:近处不动,中远处按玩法需要稍微提亮,最远端仍平稳消失。拿掉修正片,所有灯立即回到共同基线;换一张地图,也能先从同一基线开始,而不必重新猜每盏灯该怎样变暗。

(左脑)严格对表:最终关系可写成 E(r)=I Aphys(r) Wrange(r) Cart(r)E(r)=I\,A_{phys}(r)\,W_{range}(r)\,C_{art}(r)。AphysA_{phys} 在有效区间内近似 1/max⁡(r2,rmin2)1/\max(r^2,r_{min}^2),rminr_{min} 或有限光源半径负责避免零距离发散;WrangeW_{range} 是无量纲、非负、在边界平滑归零的窗口;CartC_{art} 是默认值为 1 的无量纲艺术修正,必须限制范围并记录用途。验收顺序是固定曝光与材质,先检查 rr 和 2r2r 的基线比例,再单独检查窗口连续性和艺术覆盖,最后用玩法可读性与项目规范决定是否保留覆盖。

老师解惑

  • 物理衰减的价值:距离关系可预测,灯光单位、曝光与材质校准能共享一套基准,跨场景迁移更稳定。
  • 物理模型的边界:反平方描述理想点光源在空间中的扩散;有限灯体、近距离保护、聚光方向、表面朝向和引擎的 Range 窗仍是另外几层。
  • 艺术衰减的价值:可以服务关卡引导、角色可读性和风格化构图,迭代直接。
  • 艺术模型的代价:曲线若任意、无默认、无审查,同一材质会在不同场景表现不一致,灯光也难以批量维护。
  • 选择结论:不是物理与美术二选一;常见稳妥结构是物理为默认,艺术覆盖有边界。公司偏好必须由具体项目证据支持。

工具分工

  • Unity 校准场景与 Lighting Debug:锁定曝光、材质和朝向,比较不同距离的响应。
  • 受控曲线或配置资产:保存艺术覆盖的默认值、范围、用途和回滚条件。
  • Frame Debugger 与 GPU 捕获:确认灯实际经过哪条渲染路径;它们不能替代构图与玩法验收。
  • 项目渲染规范:决定单位、范围、管线实现和例外权限,也是判断具体团队偏好的证据。

记忆钩子

反平方先给所有灯一把共同尺;玩法要改,就在尺上加一层能说明、能限制、能撤回的修正。

这是教学场景,不是目标项目的真实捕获或个人经历。

下一步:验证这条因果

物理平方反比与美术衰减曲线怎样改变同一盏灯。

教学边界:它不能替代目标设备的灯光预算和项目验收。

进入教学 Lab:「材质标定与颜色管线」