我们工作室的清道夫的游戏季,这还没有发布,在2020年游戏奖上透露,并由于她的艺术作品得到了很多积极的反馈。我们的团队希望创造一个迷人的、温暖的世界,让玩家骑着自行车探索美丽的风景,并揭开隐藏在表面之下的秘密。我们的艺术设计在欢迎玩家录制季节的低语中扮演着关键角色,因为世界注定要毁灭。本季的作品灵感来自插画家、油画家和自然光摄影师。我们用来描绘现实的极简主义方法类似于早期日本浮世绘画家和20世纪中期的海报艺术家,如诺曼·威尔金森。这种简化的思维方式,删除细节而不是添加细节,成为我们在开发整体外观和感觉时牢记在心的原则。你会注意到我们脑海中的美术风格是受到2D的启发,我们将其整合到3D场景中。
这就引出了一个问题:如何在3D空间中创造2D美术风格?
为了找到答案,我们联系了3名美工和开发者:Felix Arsenault (Feu),角色和技术美术;Genevieve Bachand,环境艺术家;以及3D程序员Irwin Chiu Hau。
我们的3D场景最初是使用虚幻引擎提供的工具创建的。不可否认的是,当我们的一些美工开始使用虚幻引擎时,他们感到不太舒服。尽管如此,他们仍然欣赏蓝图和基于节点的工具,这些工具很容易上手,并简化了他们的学习过程。Felix说道:“Unreal Engine包含了一些非常棒且易于使用的工具,特别是地形、植被和自动细节级别(LOD)工具。

团队需要灵活地创建和迭代定制工具,将绘画艺术设计的外观转移到可探索的3D世界中。因为一切都是基于节点的可视化编程节点允许您在没有传统编程背景的情况下快速构建工具和自定义着色器。”菲利克斯说。我们的美工研究了其他引擎的类似节点的功能,发现没有哪个引擎能与虚幻引擎相提并论。
Genevieve解释道:“虚幻引擎的能力让我们能够自由创造,让我们能够专注于美术设计。在虚幻引擎功能的帮助下,我们创建了自定义着色器来实现季节的特定外观,而不是被迫使用引擎中已经存在的东西。虚幻引擎的创造性灵活性给了我们团队自由,Felix补充道:“作为一名美术人员,我认为我们无法用其他引擎做到这一点。”
《Season》团队通过不断迭代各种游戏功能来寻找完美捕捉这种氛围的方法,甚至是在美术方面。虚幻引擎的灵活性允许我们与其他现有的功能配对各种工具,这允许我们的艺术家实验和添加需要的新功能。
我们的一次艺术迭代便是基于剪去细节并捕捉世界之美。然而,虚幻引擎的照明和阴影解决方案旨在通过使用基于物理的渲染(PBR)和光线跟踪等功能来保持真实感和细节。
虚幻引擎或虚幻集市的后处理解决方案并不能提供我们想要的功能或外观,所以我们不得不为此做一些额外的工作。
为了匹配我们的艺术设计所追求的有限的细节水平,我们决定专注于如何在传统绘画中使用地方色彩,以及数字画家如何模仿这些技术。来自Artifact5的Mohannad al-Khatib和Ramy Daghstani为我们创建了一个使用反射率(或局部颜色)的着色器,其方式与插图技术相同。
首先,你选择反射率,这是艺术家所说的每个材料的局部颜色,然后你选择与每个物体相关联的色调。着色器会自动得到它阴影色相颜色用反射率颜色,并计算出最终的阴影颜色。接下来,虚幻引擎决定是选择阴影颜色还是根据光的入射角选择反射率。
着色器使用颜色和阴影的错觉来重建艺术品的深度和纹理。用Mohannad的话来说,通过创造这样的着色器,在“让艺术家控制”和“让引擎做大部分工作”之间找到了平衡。使用虚幻引擎,艺术家可以简单地暴露特定的参数,并通过修改来控制最终的结果。在Material节点编辑器中,所有内容都可以单独编辑,所以我们可以制作和优化主要的材料,并将它们链接到我们的定制工具。
但这种艺术给我们带来了一个技术问题。如果所有内容都是独立编辑的,那么就很难使用全局光照来统一区域。因为每个物体都有特定的阴影颜色和反射率颜色,所以它可以包含纹理颜色,这使得在不同的照明场景中很难在整个纹理中拥有一致的阴影颜色。这意味着,如果游戏中的天空发生变化,我们必须单独编辑所有这些对象以反映这种变化。如果金色的早晨阳光照射到游戏中的所有物体上,你需要逐个改变它们,以反射清亮的蓝色中午光线。我们最终会看到一个美丽的静态场景,物体呈现出不同的外观,但它们不能有不同的颜色或对比度。
我们改变了美术设计,创造了更容易建模的场景,展示了事件的变化,并能够在高度和生物区之间旋转等等。这迫使我们回到虚幻引擎的PBR模型,但我们必须做出一些调整。通过这种方式,我们可以接收到“真实”的光线,这意味着光线总是来自自然光源,比如天空或闪烁的蜡烛火焰。一旦得到这个照明,我们确定亮度阈值或入射角阈值,并根据光源颜色计算每个图像像素的阴影颜色。
我们的卡通着色器是用来改变材料的颜色的,我们新的艺术设计侧重于使用光线变化来创造更美丽的场景。例如,如果我们想要在一个场景中增加对比度,我们可以增强直射阳光,并移除天空中的柔和光线,以创造太阳的直接眩光。如果我们想要进一步控制对比度,我们可以使用后期处理工具。
我们的新照明决定带来了一个新特性:使用天空球体的静态照明的转变。天空照明类似于光源,根据来自天空的光保持整个场景的卡通渲染一致。由天空照明产生的光和阴影颜色将被投射到场景中的所有物体上。我们还设置了天空的基调,并为场景的整体氛围添加基调。例如,在一个安全且熟悉的位置,天空照明将在所有资产上投下温暖的光芒。
现在,所有的照明都涉及到一些接近于地下散射的东西,在那里光被物体吸收或反射,创造一个散射效果。想象一个晴朗的夏日,阳光透过树叶,被绿叶吸收,使它们更加明亮。另一个例子是,当阳光从白色路面反射到你的眼睛,使眩光迷惑,但感觉温暖。我们的照明着色器是恒定的能量,这意味着无论我们添加多少光到场景中,它都保持不变。如果我们把两个光源加到同一个物体上,它的亮度就会增加一倍。这些现实的时刻激发了季节灯光设计的变化,创造了一个更熟悉的世界。
另一个障碍是,当我们得到着色器,开始建造材料和各种定制工具时,它们不够自动化,也不容易使用。我们最初拥有许多可用的功能,但它们都分散在多个级别上,必须手动执行。
我们的解决方案是创建一个“Look Dev Manager”。这是一个基于蓝图的工具,如果没有视觉编程,我永远也做不到。”Felix解释道。这是一个简单的拖放工具,可用于游戏的任何关卡。它可以连接和控制所有自定义着色器,后期处理工具和其他必要的功能,艺术家,紧密打包在一个地方。
它还与虚幻引擎的照明场景工作,允许我们加载和卸载照明场景子级别,影响照明,云,天空盒,雾和阴影,以及其他一切与气氛和情绪相关的东西。
它包含多种功能,易于维护。它可以灵活地删除或添加我们想要的任何功能,艺术家也很容易创建和使用。
接下来,让我们深入了解一下Look Dev Manager中内置的一些特性。所有函数都是通过可视化编程实现的。
关键帧序列
为了控制一天中不同时间的光照,我们在Look Dev Manager中使用了一个水平序列管理器,它可以控制一天中太阳的颜色和位置。关卡序列管理器控制太阳的转移时间和位置的关键帧,随着时间和关键帧数的推移,一天就过去了。所有的自然光都连接在一起,并控制在代表一天时间的关键帧内。
我们也可以使用照明动画混合不同的时间和天气系统,以创建两个不同的照明场景之间的平稳过渡。
季节的气氛和环境
我们面临的另一个挑战是为季节创造氛围和环境。如果玩家看着山丘,他们将如何感知天空的颜色和纹理与周围的氛围相比较?我们再次从2D媒体中寻找灵感。
我们透过一层累积的大气,看到远处的地形,它被天空的颜色所染染。通过研究画中的地形,团队模拟了艺术家如何使用颜色在云、地形和其他一切之上创造气氛。
露天画家的作品是我们调节气氛的重要参考。他们倾向于将阴影中的信息分组,并果断地丢弃阴影中的细节,从而保持比明亮区域更高层次的细节和纹理。
虽然大气和雾工具在默认情况下很好,但它们并没有按照我们想要的方式运行,并且在很大程度上受到虚幻引擎默认使用的各种照明系统的影响。我们需要更简单、更灵活的解决方案来实现插图风格的外观。幸运的是,开始迭代和开发可视化编程的替代方案并不困难。

我们转向了数字画家使用的一种方法,以重现传统画家的大气视角。为了控制游戏的氛围,我们使用了定向光源(太阳

),自然天空照明,天空氛围和雾。
“我最终创建了两种类型的后期处理:大气透视图后期处理和基于高度的雾后期处理。”菲利克斯说。
我们的自定义大气透视图后处理是基于距离的,此外,它采用了一个增亮和过滤系统来控制雾的行为。我们为艺术家提供各种参数来定制和控制场景的气氛。另一方面,我们自定义的基于高度的雾后期处理提供了多种混合模式可供选择,并支持基于纹理的风,我们可以自定义和动画。
同样,这些被排除在大多数默认的自动化系统之外,艺术家可以自由使用它们。
这些后处理是可堆叠的,可混合的,并且可以在Look Dev Manager内部或外部使用,在那里我们可以使用它们的多个版本来相互覆盖,以达到预期的结果。通过这两种类型的大气后处理,我们可以获得足够的深度和准确性来渲染游戏的情绪和氛围。我们尽量保持Look Dev Manager的灵活性,并将其模块化,这也确保了功能的灵活性和模块化。这只是目前正在开发的Season的一瞥,我们仍然在虚幻引擎中为世界带来生命。随着时间的推移,我们看到了这些定制工具的发展和改进。它们帮助我们创造了一种前所未见的氛围和环境,推动电子游戏艺术的极限。