我们面临的挑战
两者都在游戏中发挥着营造氛围和紧张感的作用,同时触动玩家最原始的恐惧,例如幽闭恐惧(对狭小空间的恐惧)、水下人工物恐惧(对水下人造物体的恐惧)、死亡恐惧(对死亡的恐惧)、孤独恐惧(对孤立无援的恐惧)、深海恐惧(对广阔水域的恐惧)、黑夜恐惧(对黑暗的恐惧)以及恐高(对高度的恐惧)。
沉没之感:塑造外观
为了打造这种外观,我们使用虚幻引擎的Niagara视效系统开发了一套二维浅水模拟系统。该二维模拟系统仅模拟水面,并计算描述其运动的方程。因此,当水流湍急(主要是在水涌入的场景中)时,它会导致水面高度变化,从而产生波浪和涟漪,显得狂野且危险。
这些场景虽然看起来疯狂且难以掌控,但实际上我们设置了水体积系统,以应对此类情况。我们标记了墙壁和地板网格体,以便将它们烘焙成高度图纹理。这种高度图纹理代表了水可以流动的空间,让这些网格体成为模拟系统中的边界,从而使水在撞上它们时能够反弹和反射。
为了实现这一目标,我们依靠后期处理营造了身处水下的感觉。我们还使用了雾体积、粒子、焦散光模式、景深、模糊和泛光效果,赋予水体额外的维度,并为物体添加失焦外观。
深入探索:开发感觉
泵系统由胶囊状对象组成,可赋予水的模拟速度,并生成在水面上移动的波浪和涟漪,以指示方向。然后,我们将多个泵连接到主角的手臂、手和脚上,使泵之间产生交互,并为玩家在水中的操作提供了逼真且实时的流动感。
为了解决这个问题,我们使用了Niagara的GPU回读功能,它使我们能够查询模拟,并获悉特定位置的水流方向、强度和水面高度。借助这些数据,我们得以对物体施加浮力,使其漂浮,并使用水流力让物体与水面模拟同步移动,从而给人一种物体运动与玩家直接相关的印象。
例如,我们研究了如何模拟穿着工作服游泳时,工作服被水浸湿的感觉。这会影响我们的主角Caz——一名身处地球极寒环境的工程师。他将身穿这种厚重的衣服,然而就和现实世界中一样,这会拖慢他的游泳速度并降低他的浮力。
我们尝试实现这一机制,但发现玩起来十分令人沮丧,也很难向玩家传达当下正在发生什么。此外,这种缓慢的游泳速度还限制了玩家能一口气在水下游动的距离,也限制了设计团队为游泳玩法设计的空间大小。最终,为了更流畅的游戏体验,我们移除了该机制,但这确实是一个有趣的主意!
用于创建逼真水体的工具
在制作《觉醒深渊》中的水体时,我们发现我们可以利用虚幻引擎内置的一系列工具和技术,并从中汲取灵感。它们包括:
单层水体着色模型:该模型对在虚幻引擎中制作逼真的水体非常有帮助,我们从Epic的现有资源中学到了许多关于其实现方法和效果的知识。
内容示例项目:该项目包含有关引擎方方面面的大量实用示例,对我们学习Niagara和流体模拟至关重要。
材质编辑器:我们使用材质编辑器在模拟数据之上叠加基于纹理的效果。这在我们为水体视觉效果添加特效时非常实用,还有助于我们随着游戏进展讲述故事。
Niagara:我们将Niagara用于模拟本身,同时我们也用它制作了许多粒子系统,例如爆裂的水管、水中的碎片等。我们还发现,现有的Niagara模拟阶段学习资料非常有帮助。它们对于我们理解如何在虚幻引擎中构建流体模拟至关重要。
水体系统:我们的水体系统会通过Niagara数据接口,读取Niagara中的模拟数据。这使游戏中的其他系统能够根据模拟的当前状态,做出动态反应。
雾体积:我们使用体积材质渲染了水体中的雾,该材质能够通过采样2D数组渲染目标获取水体模拟的信息。
选择虚幻引擎5
对于《觉醒深渊》而言,虚幻引擎实乃不二之选。虚幻引擎所提供的保真度和对创作过程的控制力,及其作为引擎的功能,正是我们实现时任创意总监Dan Pinchbeck所构想的游戏概念所需要的。
一开始,团队的虚幻引擎技术水平参差不齐,但我们通过与Epic合作安排培训,使他们迅速掌握了虚幻引擎4.26,随后又过渡到了虚幻引擎5。引擎版本升级让我们得以利用Epic的Nanite和Lumen等全新技术,它们不仅改善了游戏的外观和氛围,还提高了我们的工作流程效率。Lumen的实时光照等功能让我们能够立即看到变更光照设置的效果,无需等待阴影贴图的烘焙。
此外,虚幻引擎提供的水体技术让我们能够很好地模拟北海,其着色器工具则为我们的内部水体模拟提供了基础构建模块。我们还广泛使用MetaHuman制作游戏中的钻井工人,从而将游戏的真实感和叙事提升到全新的高度。
最终,我们将控制绑定技术应用于变异后的Beira D钻井平台工作人员,从而创造出栩栩如生的异界生物,让玩家感到恐惧又好奇。
近期焦点
扫描下方二维码,关注后点击菜单栏按钮“更多内容”并选择“联系我们”获得更多虚幻引擎的授权合作方式和技术支持。
长按屏幕选择“识别二维码”关注虚幻引擎
“虚幻引擎”微信公众账号是Epic Games旗下Unreal Engine的中文官方微信频道,在这里我们与大家一起分享关于虚幻引擎的开发经验与最新活动。