《最終幻想VII:重制版》自去年發(fā)布起,,便屢獲殊榮,包括一舉拿下The Game Awards 2020最佳RPG獎(jiǎng),。最近,Square Enix發(fā)布了《最終幻想VII:重制版INTERGRADE》,,通過充分利用PS5的次世代硬件性能,,交付了更高級別的視覺效果和畫面質(zhì)量。該游戲現(xiàn)提供以4K分辨率運(yùn)行的圖形模式,,以及每秒60幀的性能模式,,這兩種模式都提供了超越本作最初發(fā)行版本的視覺保真度。經(jīng)過這些優(yōu)化之后,,Digital Foundry稱其為“我們希望看到的FF7重制版”,。
為了了解Square Enix如何充分利用索尼的次世代主機(jī),我們采訪了Square Enix的聯(lián)合導(dǎo)演濱口直樹,、首席渲染程序員池田修一和首席技術(shù)程序員波能智人,。他們?nèi)苏務(wù)摿巳绾物@著提升紋理質(zhì)量,縮短加載時(shí)間,,改善光照和陰影,,同時(shí)保持性能平穩(wěn)一致。
Digital Foundry稱《最終幻想VII:重制版INTERGRADE》為“迄今為止最令人滿意的PS5升級版本”,。從技術(shù)角度來說,,在更新次世代版本的過程中,你們制定了哪些主要目標(biāo),?
聯(lián)合導(dǎo)演濱口直樹:我最大的目標(biāo)是在制作《最終幻想VII:重制版》的下一章節(jié)之前,,親自摸清次世代硬件的性能。我了解到了一些東西,,例如使用3K和4K渲染分辨率時(shí),,可承受的負(fù)載大小,或者在允許玩家無壓力游玩的同時(shí),,被加載資產(chǎn)的最高質(zhì)量臨界點(diǎn)在哪里,,畢竟采用高速SSD之后,I/O瓶頸已不復(fù)存在,。對忙于開發(fā)我們下一款作品的開發(fā)者來說,,這些都是非常寶貴的經(jīng)驗(yàn)。
《最終幻想VII:重制版INTERGRADE》在PS5上的加載速度顯著提高了,。為了在PS5的NVMe SSD上提升加載速度,,是否對游戲進(jìn)行了大量優(yōu)化?
首席技術(shù)程序員波能智人:PS5搭載SSD后,,I/O速度已不再是瓶頸,。相反,,時(shí)間分片和CPU負(fù)載成了拖緩加載速度的原因。
因此,,我們通過一系列手段改善了負(fù)載流程,,例如采用獨(dú)特的序列化方式,當(dāng)在特別容易出現(xiàn)瓶頸的區(qū)域執(zhí)行反序列化時(shí),,可減輕負(fù)載,。通過這些努力,我們將12秒左右的加載時(shí)間降低到了6秒,。
在探索更深層的改善方案時(shí),,我們意識到,加載器非常低效,。因此,,我們采用了虛幻引擎4.25中引入的無版本屬性序列化和IOStore。這部作品是基于UE 4.18開發(fā)的,,所以需要進(jìn)行一些更改,。但在實(shí)施更改后,我們就能將加載時(shí)間縮短到2秒左右,,考慮到將帶來的改善,,我認(rèn)為這種投入是非常值得的。
不僅加載屏幕被最小化了,,紋理的加載速度也更快了,,這在游戲的第7區(qū)貧民窟區(qū)域尤其明顯。能否談?wù)勀銈內(nèi)绾问褂锰摶靡娓纳七@些流送問題,?
波能:在PS4版本中,,由于內(nèi)存和磁盤容量的限制,我們不得不放棄使用更高質(zhì)量的格式和高分辨率紋理,。然而,,對于《最終幻想VII:重制版INTERGRADE》,仍沒有足夠的磁盤容量可容納高質(zhì)量格式和高分辨率紋理,。
因此,,我們采用了Oodle Texture壓縮技術(shù),并結(jié)合使用Oodle Kraken,,如此一來,,即使是更高分辨率的紋理,我們也能在PS5版本上為其實(shí)現(xiàn)較小的文件尺寸,。
另外,,比PS4上更高的內(nèi)存容量,以及對不可流送MIP貼圖的改進(jìn)(與上述問題的回答相關(guān)),也有助于紋理的加載,。
我們也能夠使用更高分辨率的光照貼圖,,這改善了光照的準(zhǔn)確性。
游戲中多個(gè)地方的天空盒看起來明顯更清晰,、更逼真了,。Square Enix是否通過PS5的額外處理能力,創(chuàng)作并使用了更加清晰的資產(chǎn),?
首席渲染程序員池田修一:《最終幻想VII:重制版INTERGRADE》的圖形模式提供4K支持后,,我們注意到,如果保留現(xiàn)有的天空盒,,在分辨率上將產(chǎn)生顯著的體驗(yàn)差異。因此,,我們在一些位置升級了天空盒紋理,,主要用于白天環(huán)境。此外,,我們更新了渲染資產(chǎn)中的細(xì)節(jié),,以匹配這些更改。
《最終幻想VII:重制版INTERGRADE》改進(jìn)了泛光光照,,更出色地照亮了之前的昏暗區(qū)域,。因此在游戲中,Wall Market區(qū)域布滿霓虹燈的街道看起來格外耀眼,。能否談?wù)勀銈內(nèi)绾问褂锰摶靡娓纳啤蹲罱K幻想VII:重制版INTERGRADE》中的光照,?
池田:在開始著手制作《最終幻想VII:重制版INTERGRADE》時(shí),我們重新評估了城鎮(zhèn)中放置的所有光源,,并最終決定增加放置數(shù)量,。我們也提高了環(huán)境貼圖的分辨率,它將充當(dāng)表面,,用于反射霓虹光源,。我們還重新討論了如何處理靜態(tài)光源的顏色加深,同時(shí)通過光源探頭修正了亮度校準(zhǔn)值,。
放置在各個(gè)角落和縫隙中的霧信息會對所有光源產(chǎn)生反應(yīng),,我認(rèn)為這有助于構(gòu)成Wall Market的喧囂氛圍。泛光是體積霧加上一些后期處理混合而成的,,但通過更新清理和核心程序的處理方式,,可以看到即使是最小塊的灰燼也能引起反應(yīng)。
除了光照得到改善外,,Digital Foundry還指出,,《最終幻想VII:重制版INTERGRADE》中添加了新的光源點(diǎn)。能否詳細(xì)說說添加它們的原因,?
池田:因?yàn)槲覀冊诶觅Y源時(shí)有了更大的回旋余地,,這確實(shí)使我們能夠在各種位置添加更多光源資產(chǎn),。這樣做的目的是為了給一些平坦的區(qū)域增加更多信息,這有助于突顯米德加的喧囂,。
《最終幻想VII:重制版INTERGRADE》具有升級的屏幕空間反射(SSR),,在水體反射上尤其明顯。能否談?wù)勗趹?yīng)用這一增強(qiáng)特性時(shí),,你們做了哪些工作,?
池田:我們在《最終幻想VII:重制版INTERGRADE》中使用的SSR不僅會追蹤光澤表面的光線,也不會遺漏通常被忽略的粗糙表面,。如此一來,,將在幾何體范圍內(nèi)產(chǎn)生更精確的遮蔽,這樣,,你將看到落地?zé)舻墓饩€從某個(gè)表面反射出來,,或者克勞德的劍鍔映照出劍柄。
有時(shí)會在眼睛和鼻子上看到環(huán)境光造成的疊影,,這不太美觀,,但大大減少了。通常,,通過法線映射得到的映射矢量會指向在許多情況下肉眼不可見的方向,。當(dāng)在SSR中使用這些矢量時(shí),反射方向會指向表面的內(nèi)部,,因此始終會傳回一個(gè)追蹤錯(cuò)誤,。這時(shí)候,多邊形表面的映射矢量也會存儲在緩沖區(qū)內(nèi),,為了解決這個(gè)問題,,我們修正了創(chuàng)建反射時(shí)產(chǎn)生的錯(cuò)誤像素。
通常,,SSR會參考前一幀的圖像,,所以每當(dāng)發(fā)生攝像機(jī)切換之類的事情時(shí),你可以看到正在處理的反射中會出現(xiàn)延遲,。在這部作品中,,每當(dāng)此類事情發(fā)生時(shí),我們都會優(yōu)先渲染不完整的當(dāng)前幀,,這將創(chuàng)建替代性的參考幀,,從而解決所有跳幀問題。此外,,在典型的實(shí)現(xiàn)用例中,,被引用的前一幀可能已經(jīng)渲染了霧,這將導(dǎo)致在SSR中引用時(shí),霧會被處理兩次,。
當(dāng)開發(fā)圖像時(shí),,我們會感覺體積霧非常濃重,當(dāng)反射了遠(yuǎn)處地形的水面上出現(xiàn)這類錯(cuò)誤時(shí),,其嚴(yán)重程度會加劇,。因此,我們存儲了兩種圖像——帶霧圖像和不帶霧圖像,,當(dāng)根據(jù)反射光線所到達(dá)的距離重新構(gòu)建霧密度時(shí),,霧密度可更適合環(huán)境,從而實(shí)現(xiàn)更自然的反射,。
《最終幻想VII:重制版INTERGRADE》中的高質(zhì)量陰影有著更清晰的輪廓,,這使得它們看起來更真實(shí)。在大門等元素投射的陰影中,,這一點(diǎn)尤其明顯,。能否談?wù)勀銈冏隽四男┕ぷ鳎瑏硖嵘螒蜿幱暗谋U娑龋?/strong>
池田:我們重新討論了如何分配陰影的處理緩沖區(qū),。由于對內(nèi)存分配做了更改,整體保真度增加了,,這反映在了幾何體的細(xì)節(jié)上,,曾經(jīng)會丟失的細(xì)節(jié),現(xiàn)在都得以保留,。此外,,我們糾正了采樣流程中的抖動(dòng)和偏差,減少了發(fā)生變形的情況,。
我們一直在使用SSAO制作微陰影,,但是我們重寫了它的一部分,包括去噪組件,,如此一來,,我們就能得到更清晰的細(xì)節(jié)。
《最終幻想VII:重制版INTERGRADE》使用了體積霧,,可以在愛麗絲屋外花園等地方改變環(huán)境氛圍,。能否詳細(xì)說說為什么這種做法非常適合用于更新次世代游戲版本,你們又是如何通過虛幻引擎實(shí)現(xiàn)的,?
池田:我們已經(jīng)使用了體積霧,,但它們作為資產(chǎn)時(shí)的設(shè)置,如位置和密度,,并不是最佳的,。因此,我們選擇移除所有任意參數(shù),并嘗試堅(jiān)持使用PBR(基于物理的渲染),,這樣我們就能確保米德加的氛圍更加一致,。
霧密度之類的東西仿佛被美術(shù)師用筆刷畫入了場景空間。我們將其作為探測數(shù)據(jù)鋪入空間,,然后在運(yùn)行時(shí)注入攝像機(jī)視域內(nèi)的計(jì)算體素中,。這也考慮到了熱霾,如果玩家仔細(xì)觀察,,可能會注意到光束的輕微波動(dòng),。
照耀在霧上的光源不僅包括精確光源,還包括遍布在空間中的多個(gè)光源探頭,。散射的計(jì)算模型符合米氏散射的要求,,而且前光也毫無遺漏地顯示出來了。這種霧也可以從效果中注入——在尼祿的攻擊中就可以看到一個(gè)很好的例子,。
啟用所有這些視效增強(qiáng)后,,《最終幻想VII:重制版INTERGRADE》在4K分辨率的圖形模式中出色地保持了每秒30幀的穩(wěn)定速率,而在分辨率較低性能模式中,,保持了每秒60幀的速率,。能否談?wù)勀銈冏隽四男┯螒騼?yōu)化工作,來實(shí)現(xiàn)這些性能目標(biāo),?
波能:得益于在PS4版本中建立的工作流程,,我們可以改善處理過程中的負(fù)載。首先,,我們檢查了必須修改的地方,,并確定了處理負(fù)載的規(guī)則。在此基礎(chǔ)上,,QA團(tuán)隊(duì)會檢查不符合這些規(guī)則的區(qū)域,,并通過錯(cuò)誤報(bào)告向我們報(bào)告。隨后,,優(yōu)化程序員會收到這份報(bào)告,。負(fù)責(zé)處理這項(xiàng)工作的每個(gè)人也將收到分析結(jié)果、問題和解決方案,。我們會重復(fù)這一過程,,直到所有項(xiàng)目都在規(guī)定的范圍內(nèi)。通過這些努力,,我們能夠從玩家的角度理解許多問題,,并獲得穩(wěn)定的幀率。
對于希望將游戲移植到次世代主機(jī)的開發(fā)者,,你們有什么建議嗎,?
濱口:在開發(fā)《最終幻想VII:重制版INTERGRADE》的過程中,,我不不禁感到虛幻引擎是多么的萬能,因?yàn)镻S4版的《最終幻想VII:重制版》是在UE 4.18上開發(fā)的,,當(dāng)時(shí)自然不支持PS5等未來平臺,。然而,我們所需要做的只是融合部分內(nèi)容,,或者在我們這邊基于最新版本的UE4實(shí)現(xiàn)一些獨(dú)特的項(xiàng)目,,即使是從一個(gè)稍舊的UE版本開始,也有足夠的靈活性進(jìn)行擴(kuò)展,。當(dāng)然,,在更多情況下,將需要修改虛幻引擎的原生代碼,,所以工程師的必備技能仍然是不可或缺的,,但我希望今天的文章可作為參考,幫助那些希望將游戲移植到次世代主機(jī)的人們,。
本文轉(zhuǎn)自虛幻引擎官網(wǎng)~