图片由Square Enix提供

Square Enix如何为次世代平台优化《最终幻想VII:重制版INTERGRADE》

Jimmy Thang |
2021年8月5日
Naoki Hamaguchi Co Director
联合导演滨口直树
滨口是《最终幻想VII:重制版INTERGRADE》的设计主管,负责开发环境的管理。

Shuichi Ikeda Lead Rendering Programmer
首席渲染程序员池田修一
Tomohito Hano Lead Technical Programmer
首席技术程序员波能智人
《最终幻想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秒左右,考虑到将带来的改善,我认为这种投入是非常值得的。 
图片由Square Enix提供
不仅加载屏幕被最小化了,纹理的加载速度也更快了,这在游戏的第7区贫民窟区域尤其明显。能否谈谈你们如何使用虚幻引擎改善这些流送问题?

波能:在PS4版本中,由于内存和磁盘容量的限制,我们不得不放弃使用更高质量的格式和高分辨率纹理。然而,对于《最终幻想VII:重制版INTERGRADE》,仍没有足够的磁盘容量可容纳高质量格式和高分辨率纹理。

因此,我们采用了Oodle Texture压缩技术,并结合使用Oodle Kraken,如此一来,即使是更高分辨率的纹理,我们也能在PS5版本上为其实现较小的文件尺寸。

另外,比PS4上更高的内存容量,以及对不可流送MIP贴图的改进(与上述问题的回答相关),也有助于纹理的加载。

我们也能够使用更高分辨率的光照贴图,这改善了光照的准确性。
图片由Square Enix提供
游戏中多个地方的天空盒看起来明显更清晰、更逼真了。Square Enix是否通过PS5的额外处理能力,创作并使用了更加清晰的资产?

首席渲染程序员池田修一:《最终幻想VII:重制版INTERGRADE》的图形模式提供4K支持后,我们注意到,如果保留现有的天空盒,在分辨率上将产生显著的体验差异。因此,我们在一些位置升级了天空盒纹理,主要用于白天环境。此外,我们更新了渲染资产中的细节,以匹配这些更改。

《最终幻想VII:重制版INTERGRADE》改进了泛光光照,更出色地照亮了之前的昏暗区域。因此在游戏中,Wall Market区域布满霓虹灯的街道看起来格外耀眼。能否谈谈你们如何使用虚幻引擎改善《最终幻想VII:重制版INTERGRADE》中的光照?

池田:在开始着手制作《最终幻想VII:重制版INTERGRADE》时,我们重新评估了城镇中放置的所有光源,并最终决定增加放置数量。我们也提高了环境贴图的分辨率,它将充当表面,用于反射霓虹光源。我们还重新讨论了如何处理静态光源的颜色加深,同时通过光源探头修正了亮度校准值。

放置在各个角落和缝隙中的雾信息会对所有光源产生反应,我认为这有助于构成Wall Market的喧嚣氛围。泛光是体积雾加上一些后期处理混合而成的,但通过更新清理和核心程序的处理方式,可以看到即使是最小块的灰烬也能引起反应。
图片由Square Enix提供
除了光照得到改善外,Digital Foundry还指出,《最终幻想VII:重制版INTERGRADE》中添加了新的光源点。能否详细说说添加它们的原因?

池田:因为我们在利用资源时有了更大的回旋余地,这确实使我们能够在各种位置添加更多光源资产。这样做的目的是为了给一些平坦的区域增加更多信息,这有助于突显米德加的喧嚣。

《最终幻想VII:重制版INTERGRADE》具有升级的屏幕空间反射(SSR),在水体反射上尤其明显。能否谈谈在应用这一增强特性时,你们做了哪些工作?

池田:我们在《最终幻想VII:重制版INTERGRADE》中使用的SSR不仅会追踪光泽表面的光线,也不会遗漏通常被忽略的粗糙表面。如此一来,将在几何体范围内产生更精确的遮蔽,这样,你将看到落地灯的光线从某个表面反射出来,或者克劳德的剑锷映照出剑柄。

有时会在眼睛和鼻子上看到环境光造成的叠影,这不太美观,但大大减少了。通常,通过法线映射得到的映射矢量会指向在许多情况下肉眼不可见的方向。当在SSR中使用这些矢量时,反射方向会指向表面的内部,因此始终会传回一个追踪错误。这时候,多边形表面的映射矢量也会存储在缓冲区内,为了解决这个问题,我们修正了创建反射时产生的错误像素。

通常,SSR会参考前一帧的图像,所以每当发生摄像机切换之类的事情时,你可以看到正在处理的反射中会出现延迟。在这部作品中,每当此类事情发生时,我们都会优先渲染不完整的当前帧,这将创建替代性的参考帧,从而解决所有跳帧问题。此外,在典型的实现用例中,被引用的前一帧可能已经渲染了雾,这将导致在SSR中引用时,雾会被处理两次。

当开发图像时,我们会感觉体积雾非常浓重,当反射了远处地形的水面上出现这类错误时,其严重程度会加剧。因此,我们存储了两种图像——带雾图像和不带雾图像,当根据反射光线所到达的距离重新构建雾密度时,雾密度可更适合环境,从而实现更自然的反射。
图片由Square Enix提供
《最终幻想VII:重制版INTERGRADE》中的高质量阴影有着更清晰的轮廓,这使得它们看起来更真实。在大门等元素投射的阴影中,这一点尤其明显。能否谈谈你们做了哪些工作,来提升游戏阴影的保真度?

池田:我们重新讨论了如何分配阴影的处理缓冲区。由于对内存分配做了更改,整体保真度增加了,这反映在了几何体的细节上,曾经会丢失的细节,现在都得以保留。此外,我们纠正了采样流程中的抖动和偏差,减少了发生变形的情况。

我们一直在使用SSAO制作微阴影,但是我们重写了它的一部分,包括去噪组件,如此一来,我们就能得到更清晰的细节。
 
图片由Square Enix提供
《最终幻想VII:重制版INTERGRADE》使用了体积雾,可以在爱丽丝屋外花园等地方改变环境氛围。能否详细说说为什么这种做法非常适合用于更新次世代游戏版本,你们又是如何通过虚幻引擎实现的?

池田:我们已经使用了体积雾,但它们作为资产时的设置,如位置和密度,并不是最佳的。因此,我们选择移除所有任意参数,并尝试坚持使用PBR(基于物理的渲染),这样我们就能确保米德加的氛围更加一致。

雾密度之类的东西仿佛被美术师用笔刷画入了场景空间。我们将其作为探测数据铺入空间,然后在运行时注入摄像机视域内的计算体素中。这也考虑到了热霾,如果玩家仔细观察,可能会注意到光束的轻微波动。

照耀在雾上的光源不仅包括精确光源,还包括遍布在空间中的多个光源探头。散射的计算模型符合米氏散射的要求,而且前光也毫无遗漏地显示出来了。这种雾也可以从效果中注入——在尼禄的攻击中就可以看到一个很好的例子。

启用所有这些视效增强后,《最终幻想VII:重制版INTERGRADE》在4K分辨率的图形模式中出色地保持了每秒30帧的稳定速率,而在分辨率较低性能模式中,保持了每秒60帧的速率。能否谈谈你们做了哪些游戏优化工作,来实现这些性能目标?

波能:得益于在PS4版本中建立的工作流程,我们可以改善处理过程中的负载。首先,我们检查了必须修改的地方,并确定了处理负载的规则。在此基础上,QA团队会检查不符合这些规则的区域,并通过错误报告向我们报告。随后,优化程序员会收到这份报告。负责处理这项工作的每个人也将收到分析结果、问题和解决方案。我们会重复这一过程,直到所有项目都在规定的范围内。通过这些努力,我们能够从玩家的角度理解许多问题,并获得稳定的帧率。
图片由Square Enix提供
对于希望将游戏移植到次世代主机的开发者,你们有什么建议吗?

滨口:在开发《最终幻想VII:重制版INTERGRADE》的过程中,我不不禁感到虚幻引擎是多么的万能,因为PS4版的《最终幻想VII:重制版》是在UE 4.18上开发的,当时自然不支持PS5等未来平台。然而,我们所需要做的只是融合部分内容,或者在我们这边基于最新版本的UE4实现一些独特的项目,即使是从一个稍旧的UE版本开始,也有足够的灵活性进行扩展。当然,在更多情况下,将需要修改虚幻引擎的原生代码,所以工程师的必备技能仍然是不可或缺的,但我希望今天的文章可作为参考,帮助那些希望将游戏移植到次世代主机的人们。

如需进一步了解《最终幻想VII:重制版INTERGRADE》,请访问以下链接: 
官方网站:www.ffvii-remake.com
Facebook:https://www.facebook.com/finalfantasyvii
Twitter:https://twitter.com/finalfantasyvii
Instagram:https://www.instagram.com/finalfantasyvii/
YouTube:https://www.youtube.com/finalfantasy

    立即获取虚幻引擎!

    获取全球最开放、最先进的创作工具。 
    虚幻引擎包罗万象,并提供完整的源代码访问权限,开箱即用,诚意十足。 
    新闻
    8月19日

    虚幻引擎4.27现已发布!

    各行各业的创作者都将为此发行版中的某些功能而欢呼:通过一系列效率、质量和易用性方面的改进,摄像机内视效上升到了新高度,同时,其他亮点包括通过路径追踪实现精美的最终图像,开箱即用的Oodle和Bink,可用于生产的像素流送等诸多功能。
    新闻

    虚幻引擎4.27现已发布!

    各行各业的创作者都将为此发行版中的某些功能而欢呼:通过一系列效率、质量和易用性方面的改进,摄像机内视效上升到了新高度,同时,其他亮点包括通过路径追踪实现精美的最终图像,开箱即用的Oodle和Bink,可用于生产的像素流送等诸多功能。
    聚焦
    9月7日

    Mold3D Studio与虚幻社区分享动画示例项目Slay

    为了启发和指导美术师,Mold3D Studio创建了一个动画内容示例项目,分享其数十年的行业经验。Slay完全在虚幻引擎中渲染,它将动画与现实主义相结合,营造出了一种独特的风格。
    聚焦

    Mold3D Studio与虚幻社区分享动画示例项目Slay

    为了启发和指导美术师,Mold3D Studio创建了一个动画内容示例项目,分享其数十年的行业经验。Slay完全在虚幻引擎中渲染,它将动画与现实主义相结合,营造出了一种独特的风格。
    聚焦
    7月21日

    虚幻引擎全新摄像机内VFX工具集试运行

    即将发行的虚幻引擎4.27将包含丰富的虚拟制片工具。最近,Epic Games和电影人团体Bullitt召集起一支队伍试用了其中的摄像机内视觉特效工具集。为了测试到每一种新工具,他们拍摄了一部测试短片来模拟制片流程。
    聚焦

    虚幻引擎全新摄像机内VFX工具集试运行

    即将发行的虚幻引擎4.27将包含丰富的虚拟制片工具。最近,Epic Games和电影人团体Bullitt召集起一支队伍试用了其中的摄像机内视觉特效工具集。为了测试到每一种新工具,他们拍摄了一部测试短片来模拟制片流程。