
本文基于马丁·雷因曼的演讲,题为奇怪的虫子如何使用2D灯光来创造氛围。它涵盖了工作室在制作场景时的开发过程,以及他们如何结合Unity的2D照明系统和自定义工具来创建《铁之尾》的环境世界。

铁之尾是由位于英国曼彻斯特的奇怪的虫子工作室开发的,这是一家由朋友和艺术家组成的公司。游戏由许多不同的关卡组成,玩家可以通过门或隧道自由地从一个场景导航到下一个场景。

每个场景的创建都始于碰撞体工具,这是工作室的关卡设计师创建的自定义工具。它被放置为关卡的基础,并赋予场景其一般形状。它也是玩家行走的表面。碰撞体线用作草图构图和创作一批素材资源并将其放入场景的指南。
但在此之前,场景需要使用光源和图层工具进行设置,这是工作室的首席程序员马特·泰勒创建的自定义工具。该工具使团队能够管理照明和精灵素材资源的来源和排序,因为他们使用大量独立的精灵素材资源构建详细的关卡以创建视差关卡。
一旦团队定义了图层,例如背景和中景,光源和图层工具会收集场景部分的所有精灵渲染器。然后,素材资源可以根据每个素材在关卡部分的z深度从最近到最远进行排序。一旦生成此列表,工具会线性分配值,确保素材资源按正确顺序渲染。
完成此步骤后,工具会根据场景中先前定义的细分分配一个层。这定义了哪些精灵渲染器受到特定2D光源的影响。通过这两个过程结合,工作室可以创建大型、详细的视差关卡,每层都有特定的光照场景。
团队还创建了一个素材资源库,分为多个图集,以便于特定关卡的使用,方便他们在场景中挑选素材资源。将素材资源绑定到特定关卡有助于优化。他们的图集分为岩石、树木和小型素材资源等类别。团队通常从放置中景素材资源开始,以勾勒碰撞体并增强场景的表面。
在前景和背景中放置一些素材资源有助于设置光照。他们继续放置大型素材资源,如树木、岩石和山丘,以创建良好的构图,稍后再添加细节。随着素材资源的定位,光工具的“排序”功能确保素材资源被正确分配并在正确的深度渲染。
放置素材资源有时就像一个大型3D拼图。找到合适的形状以创建一个有效的场景,同时让玩家能够阅读,这可能是具有挑战性的。Odd Bug希望每个场景都是独特的。这帮助玩家在世界中导航,因为每个场景都有自己独特的地标或素材资源,使其难以忘记。
他们在不同的深度放置素材资源,以创建视差效果,随着玩家在场景中奔跑,透视相机可以跟随。通过在z轴上将素材资源放得更远或更靠近相机,可以夸大这一效果。您可以将离相机最近的素材资源保持较暗,或完全黑色,因为这会在屏幕边缘附近创建边框并增强深度。
Odd Bug定制光工具的另一个伟大功能是,它通过使每个细分层的颜色在移动到地平线时逐渐褪色,瞬间创建了人工深度。它允许团队调整密度并设置全局光颜色和褪色的体积。这创造了一个优化的幻觉,伴随着渐变的地平线和大气雾霭,结合添加的灯光和粒子,可以在场景中创造出截然不同的氛围。

一旦场景填充了素材资源,就该添加灯光以设置氛围并突出场景的重要部分。这就是Unity 2D灯光发挥作用的地方,使用自定义灯光工具工作流程。
Odd Bug为其多层视差视觉适配了2D Unity照明系统。每个2D灯光根据其在场景中的z深度,使用手动定义的细分层来确定自己的层。或者,团队可以手动设置2D灯光影响的层。
每个部分的2D灯光会自动正确照亮每层中的精灵。这使团队能够根据灯光的位置对照明进行很大的控制。例如,您可以设置一个更强的点光源来照亮中景和那里的角色,背景中使用渐变灯光,以将焦点放在中景上。
分层灯光系统对于创建酷炫效果非常有用,例如剪影场景,灯光放置在背景中,并仅影响背景层,导致中景和前景层的灯光非常微弱。此外,您可以通过在窗户或门口后面添加灯光来创造不同的氛围。
在场景中主要使用三种不同的灯光类型:点光源、自由形状光源和精灵光源。

点光源是游戏中最常用的,因为它是一个2D圆形,您可以快速放置以突出重要的素材资源或创建人造阴影。您可以通过增加体积不透明度将其用作背景中的雾状光辉,或通过调整灯光的衰减强度将其用作灯光的光辉。

如果您想在具有特定形状的素材资源上添加强光源,可以使用自由形状光源。您可以简单地描绘素材资源的形状,调整衰减照明,并将灯光设置在素材资源的确切深度上。这使得物体看起来像是在发光。

精灵光源允许您设置特定的素材资源作为光源本身。团队在具有纹理光源的光束上使用了这个。可以在场景中放置和旋转,以显示来自不同角度的光线。通过结合不同的光源类型,可以创建角色被氛围光照亮的场景。

一旦场景被很好地照亮,就可以开始通过放置粒子特效来进行润色,以带来运动并平滑任何看起来杂乱的区域。可以在选定的z深度上放置粒子雾,并设置为在正确的层级细分上渲染。雾是一个很好的效果,可以分隔各个层次以创造更多的深度。在Tails of Iron中,将雾放置在中景的前面也使角色在世界中更有立足感。这样,雾会稍微朝着玩家应该前进的方向移动。
下一步是添加气氛效果,如灰尘颗粒、雨或落叶,具体取决于场景。最好将这些放置得离相机更近,以创造更强的视差效果。雨的效果是由落下的水滴和放置在地面的动画水花颗粒组合而成。这些粒子,像几乎所有其他素材一样,被分配到自己的层,以便与游戏中的视差效果保持一致。
如果场景中有高草、花或树,确保给它一些运动。首席程序员Matt Taylor创建了一个工具,可以将场景中所有选定的植物精灵着色器转换为一个单一的特殊着色器,使它们在风中一起动画。团队可以单独调整每个素材的值。树叶被放置在树顶周围不同大小的叶片块中,以使运动更自然。
场景通过一些颜色处理和渐晕效果结合在一起。他们使用自定义工具在他们希望后期处理影响的场景区域上绘制一个框。他们可以将其拖动到整个场景或不同元素上,随着玩家在场景中行走而融合。当一个场景有多个不同状态,如白天和黑夜时,可以在该场景中创建一个文件夹,包含所有在游戏中打开或关闭的灯光、素材和滤镜。
最后,团队对素材、放置和其他一切进行最后的检查(或三次),直到场景被打磨得光滑。有关 Tails of Iron 及其背后的团队的更多信息或问题,请在 Twitter 上关注 @OddBugStudio。
如果您想看看 Unity 的 2D 工具能做什么,请确保下载 Lost Crypt 示例项目。该项目包括一个教程窗口,它引导您完成以下功能:2D动画、2D Sprite Shape、2D瓦片地图、2D光源、用于2D的Shader Graph、辅助纹理和体积后处理。
