☰
URP点光源与聚光灯全链路解析:从数据流到性能调优
2026/10/27 7:23:12 网站建设 项目流程

URP 里点光源和聚光灯这两样东西,看起来是最没门槛的部分——拖一个 Light 组件、把类型改成 Point 或 Spot、调调强度和范围,画面就亮了。但真要在项目里把这两类光源用稳,坑几乎全在“看起来没问题”的地方:明明场景里放了八盏点光源,画面却只亮四盏;聚光灯的锥角调好了,边缘却硬得像刀切;移动端跑起来帧率掉一半,查到最后是阴影分辨率在偷偷吃性能。这一讲就围绕 URP 下点光源与聚光灯的完整链路展开,从它们在 SRP 里的数据流、光照计算方式,到参数怎么调、阴影怎么省、性能怎么控,把这条线一次讲透。适合已经能跑起 URP 基础场景、想搞清楚“光为什么这样亮”的中级使用者,也适合被移动端光照性能折磨过的开发者对照排查。

1. 先搞清楚 URP 是怎么“看见”一盏点光源的

很多人调光调不明白,根子在于把 Light 组件当成了一个“开关”,以为勾上就亮、调数值就变亮。实际上在 SRP 体系里,场景中的每盏灯都要经过一轮筛选、排序、打包,最后才以数据的形式送进着色器。理解这条链路,后面所有参数和限制就都有了落脚点。

1.1 从 Light 组件到 GPU 数据的搬运过程

URP 每帧会收集场景中所有激活的 Light 组件,按类型分桶:方向光一桶、点光源一桶、聚光灯一桶。分完桶之后并不是全部上传,而是先做可见性剔除——摄像机视锥外的、被 LayerMask 挡掉的、强度低到可以忽略的,都会在这一步被筛掉。剩下的灯再按“对当前摄像机的重要性”排序,这个重要性通常和亮度、距离、是否投影阴影有关。

排序完的灯会被塞进一个固定大小的可见光源列表,这个列表的容量是有限的,默认情况下附加光源(也就是点光源和聚光灯这类非主方向光)每帧能参与计算的数量有上限。超过上限的灯不会报错,也不会消失,它们只是“不参与这次渲染”——这就是为什么你放了十盏灯却只亮了一部分的真正原因。这个上限可以在 URP Asset 里调整,但调高意味着每个像素要多算几盏灯,性能账要自己算清楚。

数据打包完成后,每盏灯的位置、颜色、强度、范围、衰减参数、阴影信息会被写进一张结构化缓冲,着色器在片元阶段遍历这些数据逐盏累加。所以点光源和聚光灯在 URP 里本质上是“逐像素循环里的一个分支”,灯越多,这个循环越长,这就是它们比方向光贵得多的根本原因。

1.2 附加光源上限:那个让你“灯不亮”的隐形闸门

附加光源上限(Additional Lights)是 URP 里最容易被忽略、又最容易背锅的参数。它在 URP Asset 的 Lighting 分区里,有两个关键选项:一是每帧参与计算的附加光源数量上限,二是这些灯按什么模式计算——Per Pixel(逐像素)还是 Per Vertex(逐顶点)。

逐像素模式下,每盏灯对每个片元都做一次完整的光照计算,质量最好,代价也最高;逐顶点模式把光照计算挪到顶点阶段再插值,便宜很多,但大三角形面上会出现明显的光斑断层,尤其是点光源照在低模地面上时,那种一块一块的亮斑非常扎眼。我的经验是:主机和 PC 端用逐像素,移动端如果灯不多(四盏以内)也可以逐像素,超过就考虑逐顶点或者干脆用烘焙。

上限数值的设置有个实用技巧:不要按“场景里最多几盏灯”来设,而要按“同一时刻同一屏幕内最多几盏灯同时影响画面”来设。一个走廊场景可能总共二十盏灯,但玩家视野里同时最多看到五盏,那把上限设成六到八就够,剩下的靠剔除自然处理。设太高纯属浪费,因为每提高一档,所有像素的循环成本都在涨。

提示:调试“灯不亮”时,先在 URP Asset 里把附加光源上限临时拉满,如果灯亮了,说明就是上限卡住了;如果还是不亮,再查 LayerMask、强度和范围。这个排查顺序能省掉大量瞎猜的时间。

1.3 点光源与聚光灯在着色器里的计算差异

点光源和聚光灯在数据层面共享同一套附加光源结构,但计算逻辑不同。点光源的衰减只跟距离有关:从光源位置向外,强度按距离平方反比衰减,再叠加一个范围裁剪——超出 Range 的部分直接归零。URP 默认用的是平滑衰减曲线,不是物理精确的平方反比,这样近距离不会过曝、远距离过渡更自然,代价是它不完全符合物理,但对游戏画面来说更好看。

聚光灯多了一个锥角判断:先算片元方向与光源朝向的夹角,落在内锥角内是满强度,内外锥角之间做平滑过渡,外锥角之外归零。这个内外锥角的过渡带宽度直接决定了光斑边缘的软硬。很多人抱怨聚光灯边缘太硬,其实是把内外锥角设得太接近了,过渡带窄到几乎没有,边缘自然像刀切。把内锥角调小、外锥角保持,过渡带变宽,边缘就柔了。

这里有个容易踩的细节:聚光灯的衰减是“距离衰减”和“锥角衰减”两次相乘。也就是说,一盏聚光灯照在远处的地面上,即使片元在锥角正中心,也会因为距离远而变暗。调光时如果只盯着锥角不管距离,很容易出现“近处过曝、远处发灰”的割裂感,正确做法是先把 Range 和距离衰减调顺,再调锥角过渡。

2. 点光源的参数不是随便填的,每个都有物理含义

点光源看起来只有强度、范围、颜色三个旋钮,但每个旋钮背后都对应着渲染管线里的一段计算。把它们当成“感觉调”的滑块,画面就会时好时坏;理解它们的物理和渲染含义,才能在不同场景里稳定复现想要的效果。

2.1 强度单位与 Range 的配合逻辑

URP 里点光源的 Intensity 单位默认是 Lumen(流明),这是物理单位,和传统内置管线里那个无量纲的强度值不是一回事。流明描述的是光源发出的总光通量,同样的流明值,Range 越大,单位面积上的照度越低,画面越暗;Range 越小,光越集中,越亮。这就是为什么你把 Range 从十米缩到五米,画面会突然亮一截——不是强度变了,是光被压缩到了更小的体积里。

实操上我习惯这样定:先根据场景尺度定 Range,比如一个房间大概六米见方,点光源 Range 设成五到七米覆盖主要区域;然后固定 Range 去调 Intensity,让亮度落在合适区间。反过来先调强度再改范围,每次改范围都要重调强度,来回折腾。这个顺序看着是小事,实际能省掉大量反复。

还有一个隐蔽的点:Range 的边界不是硬切的。URP 在 Range 边缘有一段平滑衰减,但如果两盏点光源的 Range 刚好在某个表面交接,交接处可能出现一条亮度突变带。解决办法是让两盏灯的 Range 有意重叠一段,靠衰减曲线自然融合,而不是让边界刚好碰上。

2.2 衰减曲线:为什么你的光“边界感”很重

前面提到 URP 默认用平滑衰减而非严格平方反比,这个选择对画面友好,但也带来一个副作用:衰减曲线在 Range 边缘附近变化较缓,光斑边界会显得“糊”,不够利落。如果你想要更接近物理的硬衰减,可以在自定义光照里改衰减函数,但大多数项目没必要走到这一步。

真正影响边界观感的是 Range 和场景几何的关系。点光源贴着一面墙放,墙上的光斑边界会非常明显,因为墙面是连续的平面,衰减梯度一目了然;同样一盏灯放在开阔地带,边界就几乎看不出来。所以调点光源时一定要在实际场景几何旁边调,不要在一个空场景里对着一个球调完就搬过去,搬过去大概率不对。

我踩过的一个坑:把点光源放在地板正上方两米,Range 设三米,结果地板上一圈亮斑边界特别硬。后来把 Range 拉到四米五,让衰减在到达地板边缘前就基本走完,边界反而柔和了。逻辑是:Range 越大,衰减曲线在有效照明区内的斜率越缓,过渡越自然。这和直觉相反——很多人以为 Range 越小光越“聚”,实际上小 Range 会让边界更突兀。

2.3 点光源阴影的开销与取舍

点光源的阴影是六面立方体阴影贴图,也就是说它要渲染六个方向的深度图,开销是方向光的六倍左右。这是点光源最贵的部分,也是移动端首先要砍的地方。URP 里点光源阴影默认是关的,需要手动在 Light 组件上勾 Cast Shadows,勾上之后还要在 URP Asset 里确认阴影分辨率、级联等全局设置没有把它压没。

什么时候值得开点光源阴影?我的判断标准是:这盏灯是否是场景的“主叙事光源”。比如一个密室解谜场景,唯一一盏吊灯投下的阴影是氛围核心,那值得开;如果是走廊里一排装饰性壁灯,每盏都开阴影纯属浪费,用假阴影贴片或者干脆不投更划算。

如果确实要开,有几个省性能的手段:降低这盏灯的阴影分辨率(在 Light 组件里可以单独覆盖全局设置)、缩短阴影距离、把不接收阴影的物体从阴影渲染里剔除。还有一个常被忽略的点:点光源阴影的六个面里,朝向墙面的那几个面往往是浪费的,如果场景结构固定,可以考虑用聚光灯替代点光源来获得更可控的阴影方向。

3. 聚光灯的锥角是门手艺,不是拉个滑块

聚光灯比点光源多出来的那点复杂度,全在锥角上。内锥角、外锥角、朝向、距离衰减,这几个参数互相咬合,调好一盏聚光灯的时间往往是调点光源的好几倍。但聚光灯也是最能出效果的光源类型,舞台感、聚焦感、氛围感基本都靠它。

3.1 内外锥角的过渡带宽度决定光斑软硬

聚光灯的锥角参数在 URP 里对应 Inner Spot Angle 和 Outer Spot Angle 两个值。外锥角是光斑的最大范围,内锥角以内是满强度,两者之间是过渡带。过渡带越宽,光斑边缘越柔;过渡带越窄,边缘越硬。这个关系很直观,但实际调的时候有个陷阱:很多人只调外锥角,内锥角跟着默认值走,结果过渡带比例一直在变,光斑软硬飘忽不定。

我的做法是固定“过渡带占外锥角的比例”,比如始终让内锥角等于外锥角的百分之六十到七十。这样改外锥角时,软硬手感保持一致,只是光斑大小变。需要更柔的边缘就把比例往下压,需要更硬的边缘就往上提。这个比例没有标准答案,舞台追光可能要百分之八十以上的硬边,氛围灯可能要百分之四十的柔边,按场景定。

还有一个物理上的细节:聚光灯的锥角衰减和距离衰减是相乘关系,这意味着光斑在远处的边缘会比近处更柔,因为距离衰减叠加进来把过渡带“抹”得更宽了。如果你希望远近光斑软硬一致,就得在远处适当收窄过渡带补偿,但这属于精细调校,大多数项目不必做到这一步。

3.2 Cookie 贴图:让聚光灯从“一坨光”变成“有形状的光”

聚光灯支持 Cookie 贴图,这是它相对点光源最大的表现力优势。一张 Cookie 贴图投出去,光斑就有了形状——树影、窗棂、百叶窗、舞台图案,全靠这个。URP 里 Cookie 贴图的设置位置在 Light 组件的 Cookie 槽,注意要选对贴图类型,聚光灯用的是二维贴图,点光源用的是立方体贴图,选错了不生效还不报错。

Cookie 贴图有几个实操要点。第一,贴图的边缘要留黑边,否则光斑边缘会出现贴图重复或者拉伸的瑕疵。第二,贴图的对比度要够,灰蒙蒙的 Cookie 投出来就是一团糊,起不到造型作用。第三,Cookie 会参与光照计算但不参与阴影,也就是说 Cookie 投出的图案不会产生对应的阴影,想要“树影投在地上还有影子”的效果,得靠真实的遮挡物或者额外的阴影方案。

性能上,Cookie 贴图会增加一次纹理采样,开销不大但也不是零。移动端如果聚光灯数量多,可以考虑只给主聚光灯配 Cookie,其余用纯色光斑。另外 Cookie 贴图的分辨率不必太高,五百一十二见方通常够用,因为光斑本身在屏幕上占的面积有限,高分辨率纯属浪费显存。

3.3 聚光灯朝向与目标点的绑定方式

聚光灯的朝向由 Transform 的 forward 方向决定,这意味着它天然适合挂在会旋转的物体上——比如跟随角色视角的追光、旋转的舞台灯。但如果你想让聚光灯始终照向某个固定目标点,手动调旋转就很痛苦,尤其是目标点会移动的时候。

常规做法是用一个空物体作为目标,在脚本里每帧让聚光灯的 forward 指向目标。这里有个性能细节:不要每帧调用 LookAt 之后再改角度,LookAt 内部有矩阵运算,灯多了会有开销。更轻的做法是只在目标移动时更新,或者用四元数直接算朝向。另外注意聚光灯的朝向更新要和渲染顺序配合,如果在 LateUpdate 里更新朝向,能避免一帧的延迟感。

还有一种场景是聚光灯需要照向一个区域而不是一个点,比如照亮一面墙。这时候单纯指向中心点会导致边缘照不到,正确做法是把聚光灯拉远、锥角开大,让整个区域落在锥角内,而不是贴着墙照。贴墙照的聚光灯会在墙上形成一个很小的亮斑,周围一圈黑,观感很怪。

4. 阴影配置:点光源和聚光灯的阴影完全是两套逻辑

方向光的阴影是级联阴影贴图,一套逻辑走天下;点光源和聚光灯的阴影各走各的路,配置项和性能特征都不一样。把这两类阴影混为一谈,是很多光照问题的源头。

4.1 点光源立方体阴影的六个面与分辨率分配

点光源阴影要渲染六个面,每个面是一张独立的深度图。URP 里点光源阴影的分辨率是全局设置的,但每盏灯可以单独覆盖。六个面共享同一个分辨率,这意味着如果你把分辨率设得很高,六张图的总显存和渲染开销会迅速膨胀。

实际项目里,点光源阴影分辨率设成二百五十六或五百一十二通常够用,因为点光源阴影大多用于近距离氛围,不需要方向光那种精细度。设成一千零二十四以上基本是浪费,除非有特写镜头需要看清阴影边缘。另外,点光源阴影的六个面里,朝上的面和朝下的面在很多场景里是看不到的,但管线仍然会渲染,这是固定开销,没法单独关掉某一个面。

一个实用的优化思路:如果场景里点光源阴影是刚需,考虑把它换成聚光灯加 Cookie 来模拟,聚光灯只有一张阴影图,开销小得多,而且方向可控。代价是光照范围从球形变成锥形,需要场景配合,但对于走廊、房间这类有明确朝向的空间,这个替换往往很划算。

4.2 聚光灯单张阴影图的优势与软阴影设置

聚光灯阴影只有一张深度图,开销和方向光的单级联差不多,这是它相对点光源的巨大优势。所以同样需要投影的场景,优先用聚光灯而不是点光源,性能账上划算很多。

聚光灯阴影的软硬由阴影设置里的 Soft Shadows 控制。开启软阴影后,阴影边缘会有一定模糊,观感更自然,代价是采样次数增加。URP 的软阴影质量可以在 URP Asset 里调,从关到高质量有几档。我的经验是:主机端开高质量软阴影,移动端开低质量或者关掉,用稍高的阴影分辨率补偿硬边的观感问题。

还有一个容易忽略的点:聚光灯阴影的偏移(Bias)设置。偏移太小会出现阴影痤疮(表面出现条纹状自阴影),偏移太大阴影会和物体分离(俗称阴影漂浮)。点光源和聚光灯的偏移需求不同,因为它们的阴影图投影方式不一样。调偏移时要在实际场景里看,不要照搬方向光的数值,方向光的偏移经验在这两类光源上基本不适用。

4.3 阴影距离与级联对附加光源的影响

URP 里的阴影距离(Shadow Distance)是一个全局设置,它主要针对方向光的级联阴影,但对附加光源也有影响——超出阴影距离的附加光源阴影会被裁掉。这意味着如果你把阴影距离设得很短以节省方向光的开销,可能会连带把远处聚光灯的阴影也裁没了,画面出现“近处有影远处没影”的断裂。

解决办法是分开考虑:方向光的阴影距离按可视距离设,附加光源如果需要在更远处投影,就得把全局阴影距离拉长,或者接受附加光源阴影只在近处生效。很多项目选择后者,因为远处的小光斑阴影本来就看不清,裁掉反而省性能。关键是这个取舍要有意识,而不是调完方向光发现聚光灯阴影没了还到处找原因。

另外,附加光源的阴影不受级联影响,级联是方向光专属的。所以调附加光源阴影时,URP Asset 里那些级联数量、级联分布的参数可以完全不管,它们和点光源、聚光灯无关。这个认知能帮你排除掉一半的无效排查方向。

5. 性能账本:点光源和聚光灯到底贵在哪

光照性能问题很少是单一因素造成的,通常是附加光源数量、阴影、分辨率、渲染模式几个变量叠加。把账算清楚,才知道该砍哪里。

5.1 逐像素循环的成本模型

前面说过,附加光源在片元着色器里是一个循环,每盏灯一次迭代。这个循环的成本和三个量成正比:屏幕像素数、每像素覆盖的灯数、每盏灯的计算复杂度。屏幕像素数由分辨率决定,这个一般不动;每像素覆盖的灯数由光源范围和场景布局决定;计算复杂度由是否投影、是否用 Cookie、衰减函数复杂度决定。

举个具体的账:一个场景同时有六盏附加光源影响画面,分辨率是一零八零p,那么每帧的片元光照迭代次数大约是两百万像素乘以六,一千两百万次。如果其中两盏带阴影,阴影采样还要额外加。这个量级在 PC 上轻松,在移动端就要掂量了。优化方向很明确:减灯数、减覆盖、减复杂度,三选一或者组合。

减灯数靠剔除和上限设置;减覆盖靠收紧 Range 和锥角,让每盏灯只影响它该影响的区域;减复杂度靠关阴影、去 Cookie、降衰减精度。这三个手段里,收紧覆盖往往收益最大且最不影响观感,因为很多灯的实际有效照明区域远小于它设置的 Range。

5.2 移动端的光照预算怎么分配

移动端做 URP 光照,我习惯先定一个预算:附加光源逐像素计算不超过四盏,其中带阴影的不超过一盏,Cookie 最多一张。这个预算不是拍脑袋,是按中端移动 GPU 的片元吞吐量倒推的,具体数值因设备而异,但量级可以参考。

在这个预算下,场景布光策略要调整:主光用方向光(不占附加光源名额),重点区域用一到两盏聚光灯做强调,其余氛围光尽量用烘焙或者顶点光照。实时点光源在移动端要慎用,尤其是带阴影的点光源,六面阴影贴图的开销很容易把预算吃穿。

还有一个移动端特有的技巧:用光照探针和光照贴图把静态光照烘死,实时附加光源只负责动态物体和局部强调。这样大部分像素的光照来自烘焙,实时循环里的灯数可以压到很低。烘焙的代价是构建时间和光照贴图显存,但运行时几乎零成本,这笔账在移动端通常划算。

5.3 用 Frame Debugger 定位光照开销的具体位置

调优不能靠猜,要用工具。Unity 的 Frame Debugger 能逐 draw call 看渲染过程,光照相关的 pass 会单独列出来。重点看两个地方:一是附加光源的光照 pass 占了多少 draw call,二是阴影渲染 pass 的开销。

如果发现附加光源 pass 的 draw call 异常多,通常是灯数超了或者剔除没生效,回去查上限和 LayerMask。如果阴影 pass 开销大,看是点光源的六面阴影还是聚光灯的单面阴影,前者优先考虑替换或关闭。Frame Debugger 里还能看到每个 pass 的渲染目标尺寸,阴影贴图的分辨率一目了然,分辨率设高了在这里能直接看出来。

我一般的排查顺序是:先看总 draw call 里光照占多少,再看阴影占多少,最后看单个 pass 的耗时。这个顺序能从粗到细定位问题,避免一上来就钻到某个参数里出不来。工具给的是事实,参数调的是猜测,先看事实再调参数,效率差好几倍。

6. 几个真实场景里的布光组合与踩坑记录

理论和参数说完了,落到具体场景里,点光源和聚光灯怎么搭配、哪里容易翻车,这部分是我觉得最有分享价值的内容。

6.1 室内走廊:点光源做基础照明,聚光灯做重点

走廊场景的典型需求是均匀基础光加局部重点。我的做法是每隔一段距离放一盏点光源做基础照明,Range 设成刚好覆盖两盏灯间距的一半多一点,让相邻灯的照明区有重叠,避免出现暗带。点光源不投影,纯做亮度填充。然后在走廊尽头的门、墙上的画这些重点位置放聚光灯,锥角收窄、强度拉高,形成视觉焦点。

踩过的坑:点光源间距按 Range 刚好不重叠来设,结果地面出现一条条明暗交替的带子,非常难看。后来把间距缩到 Range 的百分之七十左右,重叠区靠衰减自然融合,明暗带消失。这个比例不是绝对的,和灯的悬挂高度有关,挂得高可以间距大一些,挂得低就要密一些。

另一个坑是聚光灯的重点照明和点光源的基础照明色温不一致,画面显得脏。统一色温基准(比如基础光偏暖、重点光偏冷做对比,但都在合理范围内)之后,画面立刻干净了。色温这件事在布光里比强度还重要,强度错了只是亮暗问题,色温错了是整体观感问题。

6.2 舞台追光:聚光灯朝向绑定与 Cookie 造型

舞台场景的核心是追光。追光需要跟随角色移动,朝向每帧更新。前面说过用脚本更新 forward 方向,这里补充一个细节:追光的锥角要随距离动态调整,角色离灯远时锥角开大保证光斑大小稳定,离灯近时锥角收小避免光斑过大。这个动态调整用简单的距离映射就能实现,效果比固定锥角好很多。

Cookie 在舞台场景里用来做图案投影,比如把一张星形贴图投到舞台地面。这里踩过的坑是 Cookie 贴图的朝向和聚光灯的 up 方向有关,贴图旋转了九十度投出来图案就是歪的,调了半天以为是贴图问题,最后发现是灯的 up 向量没对齐。解决办法是在灯下面挂一个空物体控制 up 方向,或者直接在贴图里预旋转。

舞台追光还容易出问题的地方是阴影。追光通常要投影,但角色是动态的,阴影每帧重算。如果舞台上追光数量多,阴影开销会叠加。我的处理是只给主追光开阴影,辅助追光用无阴影的纯光斑,靠主追光的阴影撑起立体感,辅助光只负责染色和补光。

6.3 夜间室外:点光源的 Range 与雾效的相互干扰

夜间室外场景常用点光源做路灯、灯笼这类点状光源。这类场景有个特殊问题:雾效会参与光照计算,点光源的 Range 和雾的浓度会相互影响。Range 设得大,雾被照亮范围广,画面发灰;Range 设得小,灯周围一圈亮、外面迅速变黑,像贴了个光晕贴片。

调这类场景的经验是:先定雾的浓度和颜色,再调灯的 Range 和强度,顺序反了会反复返工。雾浓的时候灯要亮一些、Range 收一些,让光在雾里形成一个自然的衰减球;雾淡的时候灯可以暗一些、Range 放一些。另外雾的颜色要和灯的色温协调,暖色灯配冷色雾会有很好的层次感,同色系则容易糊成一片。

还有一个细节:夜间场景的点光源如果开了阴影,阴影在雾里的表现会很怪,因为雾是参与光照的,阴影区的雾会比亮区的雾暗,形成不自然的暗块。这种场景我一般不开点光源阴影,靠物体本身的明暗对比和雾的层次撑氛围,比开阴影干净。

7. 参数速查与调光工作流

最后把常用参数和我的调光顺序整理一下,方便对照使用。这些数值是经验区间,具体项目要按场景尺度和美术风格微调。

参数点光源经验值聚光灯经验值说明
强度单位LumenLumen物理单位,和 Range 联动
Range场景尺度的 0.7 到 1 倍按照射距离定宁大勿小,边界更柔
内锥角/外锥角比例不适用0.6 到 0.7控制光斑软硬
阴影分辨率256 到 512512 到 1024点光源六面共享,慎调高
是否投影仅主叙事光源优先于点光源投影聚光灯阴影便宜得多
Cookie立方体贴图二维贴图注意贴图类型别选错

调光工作流我固定成五步:第一步定场景尺度和相机,所有参数都在实际视角下调;第二步布基础光,用方向光或烘焙打底;第三步加附加光源,先调 Range 和强度到亮度合适,再调颜色和色温;第四步处理阴影,按需开、按预算开;第五步用 Frame Debugger 过一遍,确认没有超预算的 pass。这个顺序从大到小、从亮到细,返工最少。

注意:调光过程中每改一个参数就存一次场景快照,光照调参是典型的“改一处崩一片”,有快照才能快速回退。这个习惯救过我很多次,尤其是调色温和阴影偏移的时候。

还有个小技巧分享:调点光源和聚光灯时,把场景切到无光照的纯色模式(Shaded Wireframe 或者纯 Unlit 视图)对照看,能更清楚地看出光照的分布和边界,比在完整材质下更容易发现问题。完整材质会掩盖光照的瑕疵,纯色视图会把衰减边界、光斑形状暴露得一清二楚。这个对照视图的习惯,是我从一位做舞台灯光设计的朋友那里学来的,用在实时渲染调光上同样好使。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询