如何在预算内创建氛围环境

ALFONSO CAPARRINI / LAPSUS GAMESDeveloper
Aug 22, 2025|5:20 Min
来自NODE的关键艺术:Antarii的最后恩惠由Lapsus Games制作 | 使用Unity制作。一个小机器人在某种管道系统中向下窥视一个开放的竖井。上面是一个带灯的风扇,粒子缓缓飘落。
为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。

今天的客座文章来自Alfonso Caparrini,Lapsus Games的联合创始人和开发者。在8月28日,Lapsus推出了他们的首款游戏,NODE:Antarii的最后恩惠,一款独特的2.5D解谜冒险游戏,拥有绝对惊艳的游戏内光照效果。了解Alfonso,白天是一名专业CG艺术家,他如何在HDRP中处理光照,以创造NODE's在Unity<7>中密集的氛围环境。

作为动画行业的光照艺术家,我习惯于在场景中添加几乎没有限制的元素,以获得我想要的效果。如果有什么不奏效呢?我在合成中修复它。但要从那个管道中获得一个单一的帧,可能需要数十甚至数百小时的渲染时间。

当我开始开发NODE:Antarii的最后恩惠在Unity中时,我不得不改变我的方法,以获得我习惯的电影般的氛围效果,但它必须以每秒60帧的速度运行,而不是每帧60小时。

不用说,引入体积光照从来都不是便宜的,但这里有一些我开发的工具和技术,以一种丰富而电影化的方式照亮NODE<2>,同时保持足够简单以在实时中高效运行。

通常的起点:仅仅是一个关键光

这是每个人开始的地方:你放入一个单一的关键光,希望全局光照(GI)能神奇地填补其余部分。

NODE的截图:Antarii的最后恩惠由Lapsus Games制作 | 使用Unity制作。一个宽敞的工业空间的3D环境。天花板上的红星在地面上投下阴影,地面铺有红色六边形瓷砖。
只有一盏灯的场景

你烘焙场景后意识到全局光照有帮助,但远远不足以达到你设想的氛围、深度或情绪,也无法让你对调色板有必要的控制,以创造你心中所想的。

NODE的截图:Antarii的最后恩惠由Lapsus Games制作 | 使用Unity制作。一个大部分处于阴影中的3D环境。在红色瓷砖地板上,星星的阴影被天花板上的结构叠加。
添加反射探针并烘焙光照

体积光照:添加深度

由于我们想要一个有氛围的环境,让我们先启用体积雾。它瞬间增加了氛围、深度和方向性。环境开始感觉像是有空气在其中。

不过还是不够!

NODE的截图:Antarii的最后恩惠由Lapsus Games制作 | 使用Unity制作。一个大部分处于阴影中的3D环境。在红色瓷砖地板上,星星的阴影被天花板上的结构叠加。光束揭示了场景氛围中的轻雾。
添加体积雾

这是你可以开始疯狂尝试到处添加光源的时刻——巨大的光源、没有阴影的光源等——以填补光照或全局光照覆盖的所有空间。但堆积所有这些想法,往往会导致场景感觉更平坦,因为失去了体积和维度——或者运行得更慢。

我对NODE的目标是创造一种浓厚的氛围环境的感觉,光线在空气中反弹和散射,而不会完全影响性能。为此,我开发了这个变通方法。

使用几何体伪造空气中的光散射

为了实现我对NODE的照明目标,我构建了一个非常简单的无光照着色器,创建了一个平滑的HDR颜色渐变。我添加了中点、衰减和发射倍增器的控制。我在基本几何体上使用这个着色器,比如球体、胶囊、盒子或自定义网格,放置在我想模拟光线充满空气的区域。这些体积在物理上并不准确,但它们感觉是对的。

NODE的截图:Antarii的最后恩惠的着色器在Unity编辑器中。
自定义渐变着色器的着色器图形视图

在这个特定的情况下,即使不现实,我选择了一种酷的互补色来与主光源的温暖形成对比,创造出我认为更丰富的调色板。你可以根据需要叠加尽可能多的层,甚至用不同的强度堆叠它们,以更好地控制它的衰减。

NODE的编辑器截图:Lapsus Games制作的Antarii的最后恩惠。一个大型蓝色药丸形状的物体叠加在一个有红色瓷砖地板的3D环境上。这个药丸是一个模拟光亮核心的几何体。
模拟光亮核心的几何体

结果是场景开始感觉像是在空气中弹跳,填充那些空间,我对色调和强度有完全的控制。

NODE的编辑器截图:Lapsus Games制作的Antarii的最后恩惠。一个大型蓝色物体叠加在3D环境上。这个形状代表了一个更柔和、更微弱和更远的光填充的几何体。
更柔和、更微弱和更远的填充的几何体。

在结果及其对应的光照贴图中,你可以看到这在场景中创建了一个渐变,起源于关键光束添加了大量深度和体积的区域。

NODE的截图:在Unity编辑器中Antarii的最后恩惠。工业场景中的烘焙光照贴图视图。
对应的烘焙光照贴图
NODE的截图:在Unity编辑器中Antarii的最后恩惠。在工业场景中烘焙光照贴图的视图,添加了几何发射器。
带有几何发射器的结果

雾、渐变天空和色调映射

接下来,我用传统的雾补充了场景——刚好足以根据其尺寸为场景增加深度。我使用渐变天空调整亮度和颜色,这让我能够统一色彩调色板并为环境设定整体色调。

为了将这一切粘合在一起,我使用了ACES色调映射。不深入细节,这使得最终画面更具“电影感”。

NODE的截图:在Unity编辑器中Lapsus Games的Antarii的最后恩惠。工业环境的最终渲染
最终结果

不同氛围之间的平滑过渡

这种雾和体积光的组合,配以渐变天空的色彩,以及模拟大气光散射的几何体积的使用,也实现了平滑的过渡和独特的氛围。我可以通过调整我创建的无光照着色器的渐变坡道来控制长度和过渡点,结合Unity的体积混合来在不同的天空和雾设置之间进行过渡。

这也帮助我避免使用大量灯光,并保持光烘焙时间非常低。我很自豪地说,在NODE中150个不同场景的总烘焙时间不到1小时!

来自NODE的几个烘焙光照贴图:Lapsus Games的《Antarii的最后恩惠》。使用Unity制作。
不同场景的烘焙光照贴图的视图

用单个网格解决复杂照明

在这一部分,我将分享一些示例,说明这种简单的技术如何帮助您轻松解决复杂的照明问题。

在这个电梯井中,我需要从地下的绿色调过渡到屋顶的蓝色调。仅用一个盒子,我创建了色彩基础,帮助我实现这种过渡——而且没有额外的性能损耗。

NODE中两个不同大气区域的并排比较:Lapsus Games的《Antarii的最后恩惠》,使用Unity制作。
左:大型过渡区域之间的烘焙光照贴图:右侧如何在没有灯光的情况下,仅用一个盒子实现该过渡

在更紧凑的空间中,比如这个控制室,我能够在显示器和场景中心之间创造两种不同的氛围,这给了我所需的所有光线包裹。

NODE的截图:在Unity编辑器中Lapsus Games的Antarii的最后恩惠。一个有许多显示器的控制室的渲染图。
在小空间中两个照明区域混合的结果
NODE的截图:在Unity编辑器中Lapsus Games的Antarii的最后恩惠。场景中多个效果背后的几何形状视图。
展示用于创建该效果的几何形状和颜色渐变

最后的想法

照明 节点:Antarii的最后恩惠完全是关于拥抱限制并将其转化为创造性机会。来自动画世界,我不得不重新思考我所知道的很多事情:如何在不合成的情况下作弊,如何在不增加更多灯光的情况下引导视线,以及如何在不影响性能的情况下让场景感觉丰富。

希望这些技巧能给你的项目带来灵感,或者至少提醒你,总有办法绕过第一直观的方法。感谢阅读!

节点:Antarii的最后恩惠 现在在PC和主机上可用 在此愿望单中添加游戏。在我们的Steam策展页面上关注更多使用Unity制作的游戏,并在我们的资源页面上查看更多Unity开发者的故事。