学习进度
0/9 已勾只保存在这台浏览器;勾满 9 项即视为本题完成。
先把题目说成人话
把一盏小灯放在黑屋中央,沿直线摆五张完全相同的白卡。离灯最近的卡很亮,越往后越暗。现在关卡美术提出另一个要求:最远处是玩家必须经过的路口,希望它还能读得清。题目真正要比较的,是“按光在空间中自然摊开的规律变暗”和“为了构图、玩法重新塑造这条明暗曲线”有什么区别。
前一种基线叫反平方衰减(Inverse-square Attenuation);后一种人为重塑叫艺术化衰减(Artistic Attenuation)。灯在某个方向发出多少光叫光强(Luminous Intensity),落到表面上的量叫照度(Illuminance)。先把这条主线看清,再讨论公式、单位和引擎的有限作用范围。
这是虚构教学故事,不是个人项目经历。
场景:先让问题变得看得见
镜头固定不动。五张白卡尺寸、材质和朝向完全一致,只改变它们到灯的距离。先拍一张物理基线,再复制同一镜头,只让美术曲线托起中远处。这样看到的差异才来自衰减方式,而不是曝光、材质或表面方向偷偷变化。
(右脑)画面:第一张白卡紧挨着灯,亮得几乎发白;第二张退到两倍远,已经暗下去很多;后面的卡继续平稳融入黑暗。小明为了照亮路口,直接把整盏灯加强,结果近处白卡先亮到失去细节。影片倒回去,小红保留近处原样,只在中远段轻轻托起曲线,并让光在最远边界前平滑收掉。现在路口能看见,近处也没有被一起冲白。两版画面看起来都能用,但只有第一版可以直接拿同一把物理尺跨场景比较;第二版多了一层明确的美术意图。
(左脑)对表:固定光强、曝光、材质和白卡朝向后,理想点光源在垂直接收面上的照度满足 。这里 是光强,采用物理灯光单位时可用坎德拉; 是灯到表面的距离,若项目约定一单位为一米,就以米计; 可用勒克斯。真实斜面还要乘入射余弦,不能把朝向变化算进距离衰减。引擎中的 Range 是有限作用窗口,艺术曲线是额外的无量纲修正;二者都会改变最终结果,但都不应冒充理想反平方本身。
小明:先形成一个完整猜测
小明把作用范围拉大,又把灯强度提高,看到远处路口亮了,便判断“物理衰减已经调好”。但 Range 主要决定灯在多远处停止作用以及边缘怎样收掉;提高强度则把整条曲线一起抬高。两只旋钮都没有单独解决“只托中远处”的需求。
这个失败没有否定玩法目标。它只说明:让路口可读是一项美术要求,不能因此把所有改变都重新命名为物理规律。
小红:把猜测放回现实检查
小红先关掉所有艺术修正。白卡从距离 移到 ,在相同朝向与曝光下,理想照度降为原来的四分之一。这是可以复算、可以迁移到另一张地图的基线。
随后她只打开一条受限曲线:近端权重保持 1,中远端可以在规定区间内托亮,边界仍连续归零。她同时检查三个结果:近处是否过曝,远处玩法信息是否可读,前后景层次是否仍然存在。艺术调整由这些目标验收,不由“看起来更物理”来证明。
我:用检查结果修正模型
我会把“共同基线”和“项目覆盖”分成两层。材质校准、曝光和普通灯光先使用一致的物理衰减;确有构图或玩法需要时,再开放有默认值、有上下限、能回滚的艺术曲线。关键玩法灯可以有单独规则,但规则应进入配置与审查,不能藏成某个着色程序里的神秘常量。
原题还问腾讯项目怎样选。当前没有具体项目规范或捕获,不能把某一种做法写成腾讯全公司的事实。若让我给出工程选择,我倾向“物理基线加受控艺术调整”:它同时保留跨资产、跨场景的一致性,也承认玩法可读性和风格化项目会需要例外。最终仍以目标项目的渲染规范为准。
(右脑)画面修正:再次播放白卡影片时,先出现的是一条任何人都能复现的自然变暗路线。美术没有把这条路线擦掉,而是在它上面盖一张透明的修正片:近处不动,中远处按玩法需要稍微提亮,最远端仍平稳消失。拿掉修正片,所有灯立即回到共同基线;换一张地图,也能先从同一基线开始,而不必重新猜每盏灯该怎样变暗。
(左脑)严格对表:最终关系可写成 。 在有效区间内近似 , 或有限光源半径负责避免零距离发散; 是无量纲、非负、在边界平滑归零的窗口; 是默认值为 1 的无量纲艺术修正,必须限制范围并记录用途。验收顺序是固定曝光与材质,先检查 和 的基线比例,再单独检查窗口连续性和艺术覆盖,最后用玩法可读性与项目规范决定是否保留覆盖。
老师解惑
- 物理衰减的价值:距离关系可预测,灯光单位、曝光与材质校准能共享一套基准,跨场景迁移更稳定。
- 物理模型的边界:反平方描述理想点光源在空间中的扩散;有限灯体、近距离保护、聚光方向、表面朝向和引擎的 Range 窗仍是另外几层。
- 艺术衰减的价值:可以服务关卡引导、角色可读性和风格化构图,迭代直接。
- 艺术模型的代价:曲线若任意、无默认、无审查,同一材质会在不同场景表现不一致,灯光也难以批量维护。
- 选择结论:不是物理与美术二选一;常见稳妥结构是物理为默认,艺术覆盖有边界。公司偏好必须由具体项目证据支持。
工具分工
- Unity 校准场景与 Lighting Debug:锁定曝光、材质和朝向,比较不同距离的响应。
- 受控曲线或配置资产:保存艺术覆盖的默认值、范围、用途和回滚条件。
- Frame Debugger 与 GPU 捕获:确认灯实际经过哪条渲染路径;它们不能替代构图与玩法验收。
- 项目渲染规范:决定单位、范围、管线实现和例外权限,也是判断具体团队偏好的证据。
记忆钩子
反平方先给所有灯一把共同尺;玩法要改,就在尺上加一层能说明、能限制、能撤回的修正。
这是教学场景,不是目标项目的真实捕获或个人经历。
下一步:验证这条因果
物理平方反比与美术衰减曲线怎样改变同一盏灯。
教学边界:它不能替代目标设备的灯光预算和项目验收。