功能
2023 年 5 月 1 日
UE5.1新功能在《堡垒之夜:大逃杀》第四章中的实战测试
在这篇博客文章中,我们将着眼于一些虚幻引擎5功能,它们得益于《堡垒之夜:大逃杀》第四章的检验,已经变得更加完善了;我们还据此对UE 5.1做出了改进,这将帮助你创建更加精致和快速的开放世界游戏。
十二月初,当《堡垒之夜:大逃杀》第四章第一赛季发布时,玩家很难不注意到视觉保真度和细节得到了质的提升。这并不是巧合,通过虚幻引擎5.1,游戏的最新章节利用了虚幻引擎5最具创新性的全新功能,如Lumen、Nanite、虚拟阴影贴图和时序超级分辨率等等。
《堡垒之夜:大逃杀》第四章出色地展示了Epic Games“吃自家狗粮”的决心,我们在真正的游戏开发压力下对新功能做出了实战测试。这一举措促使我们改进了在UE 5.0中引入的创新功能集,它们随后被交付给了《堡垒之夜》团队使用。
我们之前通过《黑客帝国觉醒:虚幻引擎5体验》对UE5中的功能进行了测试,在最新一代的主机上以30FPS的帧率展示了一座逼真的城市。在《堡垒之夜:大逃杀》第四章中,开发团队面临着新出现的挑战:确保游戏在所有平台上以60FPS的帧率运行,同时在以建设和破坏为特色的大型动态开放世界中提供当今玩家所期望的质量——高标准的风格化画面、精致的植被以及昼夜循环。
在这篇博客文章中,我们将着眼于一些在第四章中得到检验并因此获益良多的功能。我们还会提供一些深层次文章的链接,它们更加详细地介绍了我们对Lumen、Nanite和虚拟阴影贴图的改进,探讨了我们从《堡垒之夜:大逃杀》第四章的工作中所汲取的经验,我们相信这些经验将有助于你使用虚幻引擎5创建更加精致、快速的开放世界游戏。
Lumen
Lumen是虚幻引擎5中新引入的实时全局光照和反射解决方案。Lumen使用硬件和软件光线追踪提供逼真的间接反射光照、反射和阴影,它们能够对直接光照和几何体的变化做出动态反应。举例而言,你可以通过Lumen实现:一面蓝色的墙,为附近所有物体或角色带来一丝蓝色色调;黄金时刻的阳光穿过一扇窗户,在没有任何局部光源的情况下照亮整间房屋;当一扇外门被打开时,光线进入房间。
我们针对《堡垒之夜:大逃杀》第四章,在虚幻引擎中改进了Lumen的许多方面。我们优化了整个系统,使我们能够在支持Lumen的平台上实现60FPS的帧率,同时极大地提高间接光照和反射的质量。
《堡垒之夜》的世界充满了树木和草地,这是一片理想的试验场,让我们能够改进Lumen间接光照在这类环境中的质量。
Nanite
Nanite彻底改变了美术师和设计师构建虚拟世界的方式,它在突破几何细节极限的同时也简化了创作过程。美术师不再需要考虑网格体LOD或给定对象的正确多边形数量,即可实现最佳视觉质量和性能。
在UE 5.0中,Nanite出色地实现了不透明的刚性几何体,《堡垒之夜》的城市环境充分利用了这一点。无论镜头拉得多近,经过建模的砖块、木材和窗户装饰都能展示复杂的细节。
从UE 5.1开始,Nanite支持了全局位置偏移和遮罩材质,《堡垒之夜》的美术师能够在极精致的动画树木和树叶上使用这项技术。树叶和草叶被建模成了随风自然摇曳的几何体。为了确保在任意渲染距离都能保留所有重要的茂盛细节,我们还引入了一种让Nanite简化植被几何体的新方法。
虚拟阴影贴图
虚拟阴影贴图(VSM)与Nanite相结合,将美术师在《堡垒之夜:大逃杀》第四章中添加的所有复杂几何细节凸显了出来。与传统的级联阴影贴图相比,VSM最大的优势在于,无论物体是近在玩家眼前,还是远在地平线上,它都能提供接近像素级精度的阴影细节。
新的《堡垒之夜》几何体为我们带来了一个难题:我们需要进一步改进VSM,使其与植被及当日时间动态系统相配合——对于我们之前为提高性能而采用的许多阴影缓存方案来说,此二者成了一道阻碍。当然,这一切都必须符合60FPS的预算。
《堡垒之夜》现在也在室内使用了许多较小的局部光源,如电灯或天花板顶灯。VSM缓存在这些地方表现出色。像这样大量使用局部光源让我们有机会在UE 5.1中进一步提高VMS的性能。我们可以通过“单通道投射”选项单次批量化处理许多光源的阴影更新,从而提高GPU的利用率。我们还建立了启发式方法,将远距离光源的阴影更新分摊到多个帧中。
局部曝光
Lumen允许美术师创造出对比度极高的场景,例如,在非常暗的房间中透过窗户看到明亮的室外,或者在同一视图中,房屋表面被明亮的天空和太阳照亮,而室内几乎漆黑一片。对于这种视图,单一的曝光值效果不佳:明亮区域最终会出现过度曝光,而黑暗区域则会近乎全黑,无法看清。
UE5中的曝光系统针对《堡垒之夜:大逃杀》第四章做出了改进,提供了更多工具让美术师实现其所需的美术方向,同时也带来了更出色的性能。美术师现在可以分别控制局部曝光在高光和阴影中的应用,这有助于在高动态范围光照条件下保留细节。除此之外,局部曝光与后期处理管线中的其他部分(尤其是泛光和镜头光斑)更加深入地整合到了一起,使结果更加一致。
我们还新支持了在忽略材质属性的同时,基于照度计算自动曝光。这有助于材质在不同的光照条件下保持外观的一致,并提高游戏过程中的图像稳定性。
时序超级分辨率
时序超级分辨率(TSR)通过将一些成本高昂的渲染计算分摊到多个帧中,使我们能够大幅削减渲染漂亮4K图像的成本。考虑到《堡垒之夜:大逃杀》第四章60FPS的目标,我们需要对TSR做出许多性能和质量上的优化。因此,UE 5.1中的TSR比我们在UE 5.0中发布的版本更好,也更快。我们还改进了TSR依据配置文件(低级、中级、高级和史诗级)对性能和质量的调整范围。
我们会在即将发布的一篇博客文章中深入探讨这些改进的技术细节。
云层
为了配合《堡垒之夜:大逃杀》第四章中视觉保真度的飞跃,我们改进了虚幻引擎5.1中云层渲染的质量。为了满足严格的性能预算,UE5在内部会以较低的分辨率渲染云层,并对其进行向上采样。以前,这会导致遮挡了背景云层的前景网格体周围产生不完整的边缘,致使明亮的天空颜色在边缘处渗透出来。在UE 5.1中,我们可以更好地解决全分辨率下云层向上采样的问题,不会出现这种渗透。我们还改进了当网格体从云层前穿行而过时,对云层的时序重建工作,有效地减少了因移除遮挡而产生的尾迹。
Niagara
《堡垒之夜》利用Niagara视效系统创造了由美术师主导的程序化破坏效果。Niagara能够对游戏做出反应,每当武器击中目标时,都能生成并准确模拟飞溅的碎片。
《堡垒之夜:大逃杀》第四章中新推出的高保真火焰使用基于体素的传播机制,更好地表现了火焰在表面和地形上的蔓延,同时还支持在载具及物理对象间传播火焰。为了正确放置火焰,并将其对准到燃烧表面,该系统使用了在引擎内部经过烘焙的Niagara流体模拟,并将其应用到了Niagara粒子中(数据读取自火焰游戏系统)。
对世界构建的支持
随着第四章的发布,《堡垒之夜:大逃杀》现在在每个平台上都使用了UE5最新的世界构建和自动流送解决方案。其中包括世界分区、数据层、关卡实例、自动HLOD以及一Actor一文件。这套工具集有助于建立更具协作性的工作流程,并提升关卡设计师和美术师构建世界的效率。
与《堡垒之夜》之前版本中使用的自定义流送解决方案相比,目前方案最大的一个不同之处是,新的世界分区系统实现了自动化,开发者需要付出的时间更少了,同时,HLOD的过渡也更加稳定,提供了更好的整体游戏体验。
第四章包含超过10万个Actor文件,为了更有效地处理如此之多的文件,我们改进了变更列表窗口,增加了新的用户体验和新的非受控变更列表类型,并将它与场景大纲视图和主视口更好地集成在了一起。
为了给第四章提供支持,我们做的进一步改进是在寻路网格体(静态和动态)的生成功能中添加对世界分区的支持。这意味着你可以加载一个世界单元,为其生成寻路网格体,将其序列化,然后卸载该单元并继续处理下一单元。
在UE 5.1中,所有开发者都可以使用这些经过改进的功能,并且,随着《堡垒之夜》团队不断对这些功能展开实战测试,我们可以期待在未来版本中看到进一步的改进。
智能对象和状态树
智能对象允许AI在关卡中选择一个对象或区域,并动态注入行为。相关的数据和配置(如动画)会被存储在对象中,而不是代理中,这实现了大量代理之间的共享,促成了更高效的内存利用和更出色的性能,无需编辑核心行为即可更灵活地扩展默认行为。
状态树是一种可扩展的通用状态机,它在灵活的决策树结构(以及直观而紧凑的用户界面)中结合了经典的状态机机制,同时保留了高性能。
这两项技术在UE 5.0版本中是作为实验功能发布的,但经过《堡垒之夜:大逃杀》第四章中的成功部署后,它们在5.1版本中已进入生产就绪状态。在第四章之前,智能对象只被用于让AI播放简单的动画或表情。通过在智能对象流程中整合状态树,我们成功地实现了更复杂、更丰富的机器人行为,例如机器人与《堡垒之夜》篝火互动的方式。
更高的开发者效率
我们一直在寻找提高开发者效率的方法,让他们可以专注于创作过程。《堡垒之夜》采用了新的图形技术,如磁盘空间占用量更大的Nanite,这为我们带来了一项挑战:寻找方法减少团队加载游戏或从Perforce获取内容的时间。
庞大且分布于多个地点的《堡垒之夜》团队从新的虚幻云DDC中获益匪浅,这是一个为派生数据缓存建立的全球高效模型,允许团队成员快速访问纹理或网格体等内容的优化版本,消除了在本地进行处理的需要。因此,《堡垒之夜》中的编辑器加载时间至少快了2倍。
虚拟资产减少了内容的磁盘占用量,从而将《堡垒之夜》单个工作空间的同步时间缩短了四倍以上;通过删除多个工作空间共用的重复数据,我们甚至还可以节省更多磁盘空间和同步时间。我们从虚幻资产较小的类属性(如纹理分辨率和格式等)中剥离出了原始纹理像素等大体积数据,并将它们分开存储。从表面看,虚拟资产与普通虚幻资产并没有区别,但是它们要小很多倍。开发者的工作流程几乎无需做出改变,而客户端只在需要时才会下载要在编辑器中使用的数据,显著减少了等待Perforce进行同步的时间。
机器学习
虚幻引擎的机器学习(ML)变形器允许你使用自定义的Maya插件训练将在虚幻引擎中实时运行的机器学习模型,为复杂的专有绑定(或任意变形)创建高保真的近似模拟。
在第四章中,《堡垒之夜》团队使用ML变形器实现了更高质量的角色肌肉和布料变形,Hulk和Sunlit是第一批从中受益的角色。团队能够通过外部DCC工具捕获复杂的变形和模拟,并将几何结果注入它们的游戏绑定。这次实战测试的结果是,ML变形器在UE 5.1中从实验版升级到了测试版,同时,团队与ML变形器的工程师展开了密切合作,使该技术有机会得到进一步完善,他们计划在UE 5.2中增加新功能和稳定性修复。
MetaHuman框架
在第四章中,《堡垒之夜》团队与3Lateral及MetaHuman团队的开发者密切合作,升级了《堡垒之夜》角色的面部动画功能。其中包括一些对角色质量的更新,例如增加了新角色的表情和关节数量,创建了新的绑定和动画工具,将面部动画推向了新的高度。
因此,虚幻引擎5.1改进了绑定逻辑的运行时功能,将性能开销控制在了约束范围内,还专门创建了重映射节点,为《堡垒之夜》中MetaHuman技术的向前和向后兼容性提供了支持。
我们希望你喜欢我们在《堡垒之夜:大逃杀》第四章的开发过程中对虚幻引擎5.1做出的所有改进,并发现它们有助于你将游戏的视觉保真度提升到新水平。我们期待看到结果!
作者: 虚幻引擎官网 发表日期:2023 年 5 月 1 日