SE使用虚幻引擎优化《最终妄想VII:重制版INTERGRADE》
《最终妄想VII:重制版》自往年发布起,便屡获殊荣,包括一举拿下The Game Awards 2020最佳RPG奖。最近,Square Enix发布了《最终妄想VII:重制版INTERGRADE》,通过足够利用PS5的次世代硬件性能,交付了更高级别的视觉效果和画面质量。该游戏现提供以4K辨认率运行的图形模式,以及每秒60帧的性能模式,这两种模式都提供了超越本作最初发行版本的视觉保真度。经过这些优化之后,Digital Foundry称其为“我们期看看到的FF7重制版”。
为了了解Square Enix如何足够利用索尼的次世代主机,我们摘访了Square Enix的联合导演滨口直树、首席渲染程序员池田修一和首席技术程序员波能智人。他们三人谈论了如何显著提升纹理质量,缩短加载时间,改良光照和阴影,同时保持性能平稳一致。
Digital Foundry称《最终妄想VII:重制版INTERGRADE》为“迄今为止最令人称心的PS5升级版本”。从技术角度来说,在更新次世代版本的过程中,你们制定了哪些主要目的?
联合导演滨口直树:我最大的目的是在制造《最终妄想VII:重制版》的下一章节之前,亲自摸清次世代硬件的性能。我了解到了一些东西,例如使用3K和4K渲染辨认率时,可承担的负载大小,或者在答应玩家无压力游玩的同时,被加载资产的最高质量临界点在哪里,究竟摘用高速SSD之后,I/O瓶颈已不复存在。对忙于开发我们下一款作品的开发者来说,这些都是非常宝贵的体会。
《最终妄想VII:重制版INTERGRADE》在PS5上的加载速度显著提高了。为了在PS5的NVMe SSD上提升加载速度,是否对游戏进行了大量优化?
首席技术程序员波能智人:PS5搭载SSD后,I/O速度已不再是瓶颈。相反,时间分片和CPU负载成了挈缓加载速度的原因。
因此,我们通过一系列手段改良了负载流程,例如摘用特殊的序列化方式,当在特殊轻易出现瓶颈的区域执行反序列化时,可减轻负载。通过这些努力,我们将12秒左右的加载时间降低到了6秒。
在探索更深层的改良方案时,我们意识到,加载器非常低效。因此,我们摘用了虚幻引擎4.25中引进的无版本属性序列化和IOStore。这部作品是基于UE 4.18开发的,所以需要进行一些更改。但在实施更改后,我们就能将加载时间缩短到2秒左右,考虑到将带来的改良,我认为这种投进是非常值得的。
展开全文
不仅加载屏幕被最小化了,纹理的加载速度也更快了,这在游戏的第7区贫民窟区域特别明显。能否谈谈你们如何使用虚幻引擎改良这些流送问题?
波能:在PS4版本中,由于内存和磁盘容量的限制,我们不得不舍弃使用更高质量的格式和高辨认率纹理。然而,对于《最终妄想VII:重制版INTERGRADE》,仍没有足够的磁盘容量可容纳高质量格式和高辨认率纹理。
因此,我们摘用了Oodle Texture压缩技术,并结合使用Oodle Kraken,如此一来,即使是更高辨认率的纹理,我们也能在PS5版本上为其实现较小的文件尺寸。
另外,比PS4上更高的内存容量,以及对不可流送MIP贴图的改良(与上述问题的回答相关),也有助于纹理的加载。
我们也能够使用更高辨认率的光照贴图,这改良了光照的正确性。
游戏中多个地方的天空盒看起来明显更清楚、更逼真了。Square Enix是否通过PS5的额外处理能力,创作并使用了更加清楚的资产?
首席渲染程序员池田修一:《最终妄想VII:重制版INTERGRADE》的图形模式提供4K支持后,我们注重到,假如保留现有的天空盒,在辨认率上将产生显著的体验差异。因此,我们在一些位置升级了天空盒纹理,主要用于白天环境。此外,我们更新了渲染资产中的细节,以匹配这些更改。
《最终妄想VII:重制版INTERGRADE》改良了泛光光照,更出色地照亮了之前的昏暗区域。因此在游戏中,Wall Market区域布满霓虹灯的街道看起来格外耀眼。能否谈谈你们如何使用虚幻引擎改良《最终妄想VII:重制版INTERGRADE》中的光照?
池田:在开始着手制造《最终妄想VII:重制版INTERGRADE》时,我们重新评估了城镇中放置的所有光源,并最终决定增加放置数量。我们也提高了环境贴图的辨认率,它将充当表面,用于反射霓虹光源。我们还重新讨论了如何处理静态光源的颜色加深,同时通过光源探头修正了亮度校准值。
放置在各个角落和缝隙中的雾信息会对所有光源产生反应,我认为这有助于构成Wall Market的喧嚣氛围。泛光是体积雾加上一些后期处理混合而成的,但通过更新清理和核心程序的处理方式,可以看到即使是最小块的灰烬也能引起反应。
除了光照得到改良外,Digital Foundry还指出,《最终妄想VII:重制版INTERGRADE》中添加了新的光源点。能否详尽说说添加它们的原因?
池田:因为我们在利用资源时有了更大的回旋余地,这确实使我们能够在各种位置添加更多光源资产。这样做的目的是为了给一些平整的区域增加更多信息,这有助于突显米德加的喧嚣。
《最终妄想VII:重制版INTERGRADE》具有升级的屏幕空间反射(SSR),在水体反射上特别明显。能否谈谈在使用这一增强特性时,你们做了哪些工作?
池田:我们在《最终妄想VII:重制版INTERGRADE》中使用的SSR不仅会追踪光泽表面的光线,也不会遗漏通常被漠视的粗糙表面。如此一来,将在几何体领域内产生更精确的遮蔽,这样,你将看到落地灯的光线从某个表面反射出来,或者克劳德的剑锷映照出剑柄。
有时会在眼睛和鼻子上看到环境光造成的叠影,这不太美看,但大大减少了。通常,通过法线映射得到的映射矢量会指向在许多情状下肉眼不可见的方向。当在SSR中使用这些矢量时,反射方向会指向表面的内部,因此始终会传回一个追踪错误。这时候,多边形表面的映射矢量也会存储在缓冲区内,为了解决这个问题,我们修正了创建反射时产生的错误像素。
通常,SSR会参考前一帧的图像,所以每当发生摄像机切换之类的事情时,你可以看到正在处理的反射中会出现延迟。在这部作品中,每当此类事情发生时,我们都会优先渲染不完全的当前帧,这将创建替代性的参考帧,从而解决所有跳帧问题。此外,在典型的实现用例中,被引用的前一帧可能已经渲染了雾,这将导致在SSR中引用时,雾会被处理两次。
当开发图像时,我们会感觉体积雾非常浓郁,当反射了远处地形的水面上出现这类错误时,其严重程度会加剧。因此,我们存储了两种图像——带雾图像和不带雾图像,当依据反射光线所到达的距离重新构建雾密度时,雾密度可更适合环境,从而实现更自然的反射。
《最终妄想VII:重制版INTERGRADE》中的高质量阴影有着更清楚的轮廓,这使得它们看起来更真实。在大门等元素投射的阴影中,这一点特别明显。能否谈谈你们做了哪些工作,来提升游戏阴影的保真度?
池田:我们重新讨论了如何分配阴影的处理缓冲区。由于对内存分配做了更改,整体保真度增加了,这反映在了几何体的细节上,曾经会丢失的细节,现在都得以保留。此外,我们纠正了摘样流程中的抖动和偏差,减少了发生变形的情状。
我们一直在使用SSAO制造微阴影,但是我们重写了它的一部分,包括往噪组件,如此一来,我们就能得到更清楚的细节。
《最终妄想VII:重制版INTERGRADE》使用了体积雾,可以在爱丽丝屋外花园等地方改变环境氛围。能否详尽说说为什么这种做法非常适合用于更新次世代游戏版本,你们又是如何通过虚幻引擎实现的?
池田:我们已经使用了体积雾,但它们作为资产时的设置,如位置和密度,并不是最佳的。因此,我们抉择移除所有任意参数,并尝试坚持使用PBR(基于物理的渲染),这样我们就能确保米德加的氛围更加一致。
雾密度之类的东西仿佛被美术师用笔刷画进了场景空间。我们将其作为探测数据展进空间,然后在运行时注进摄像机视域内的计算体素中。这也考虑到了热霾,假如玩家仔细看察,可能会注重到光束的稍微波动。
照射在雾上的光源不仅包括精确光源,还包括遍布在空间中的多个光源探头。散射的计算模型符合米氏散射的要求,而且前光也毫无遗漏地展示出来了。这种雾也可以从效果中注进——在尼禄的进攻中就可以看到一个很好的例子。
启用所有这些视效增强后,《最终妄想VII:重制版INTERGRADE》在4K辨认率的图形模式中出色地保持了每秒30帧的稳定速率,而在辨认率较低性能模式中,保持了每秒60帧的速率。能否谈谈你们做了哪些游戏优化工作,来实现这些性能目的?
波能:得益于在PS4版本中建立的工作流程,我们可以改良处理过程中的负载。首先,我们检查了必须修改的地方,并确定了处理负载的规则。在此基础上,QA团队会检查不符合这些规则的区域,并通过错误报告向我们报告。随后,优化程序员会收到这份报告。负责处理这项工作的每个人也将收到分析结果、问题和解决方案。我们会重复这一过程,直到所有项目都在规定的领域内。通过这些努力,我们能够从玩家的角度理解许多问题,并获得稳定的帧率。
对于期看将游戏移植到次世代主机的开发者,你们有什么意见吗?
滨口:在开发《最终妄想VII:重制版INTERGRADE》的过程中,我不不禁感到虚幻引擎是多么的万能,因为PS4版的《最终妄想VII:重制版》是在UE 4.18上开发的,当时自然不支持PS5等未来平台。然而,我们所需要做的只是合成部分内容,或者在我们这边基于最新版本的UE4实现一些特殊的项目,即使是从一个稍旧的UE版本开始,也有足够的灵巧性进行扩展。当然,在更多情状下,将需要修改虚幻引擎的原生代码,所以工程师的必备技能仍然是不可或缺的,但我期看今天的文章可作为参考,扶助那些期看将游戏移植到次世代主机的人们。
本文转自虚幻引擎官网~