Digital Foundry帶來了關于PS5光線追蹤技術的分析視頻。随着上周PS5發布會所公布的将近30款遊戲,索尼展示并讨論了很多的内容,并且明确提及到了“光線追蹤”還在PS5上多款遊戲中進行了演示,本次我們将來看看PS5發布會中各類遊戲中所演示的光線追蹤效果的确切性質,以及它們是如何運作的,對于PS5未來遊戲能抱有怎樣的期待。視頻由B站UP主@未來遊戲研究所譯制,深表感謝,小夥伴們一起來欣賞吧!
分析視頻:
PS5光追技術分析(圖文版)
實時三角形光線追蹤僅在近兩年在才開始在遊戲中出現,基于這些遊戲的前人栽樹,PS5遊戲開發者得以在這麼短的時間内在本次發布會演示光線追蹤效果。需要強調的是,光線追蹤無論是在硬件上還是在軟件上都仍是比較新穎的技術,目前為止我們已知PS5上應該有六款遊戲支持光線追蹤,考慮到光線追蹤性能開銷之大以及複雜性,這已經是很好的一個進步了。
《Control》的光追技術
我們在兩年前Nvidia發布了RTX顯卡後很快的得知了哪怕是最強勁的顯卡RTX 2080 Ti僅僅是使用原生分辨率光線追蹤反射,都會大幅度降低你的幀數,其他像是光線追蹤陰影這樣的效果雖然不及反射,但仍然很吃幀。相比之下XSX或是PS5的GPU性能反而還更加羸弱,那麼以維持較高的分辨率與幀數開發者在光線追蹤的使用上就不得不更加巧妙,于是開發者在我們上周發布會所展示的光線追蹤做的如何呢?
《GT7》遊戲畫面
先從《GT7》開始,這款遊戲是比較明顯的使用了光線追蹤反射,在遊戲中不少的表面以及車身本身上都有運用,一個比較好的例子就是此處的車身。盡管立方體貼圖也能夠很好的實時反射出場景,許多賽車遊戲像是《極限競速:地平線》就是這樣做的,但從技術上來講它們的反射是錯誤的,并且無法反射自身,因此在《GT7》中的車身上能夠看到視野中看不到的周邊反射,以及車輛對本身的反射。對于一款競速遊戲來講,我認為光線追蹤反射很有助于使車身材質顯得更加真實,車輛得反射屏幕外的場景,以及自身反射,這樣金屬與車漆和其他亮閃閃的材質不會詭異的發光或是反射錯誤的内容,光線追蹤反射極大的增強了競速遊戲中的材質類型。
像是玻璃這樣的透明材質上也使用光線追蹤反射,透明表面上使用光追性能開銷往往比非透明表面更大,還有比較酷炫的效果像是後視鏡中能夠看到駕駛員,這應該也是這一系列中的第一次。
《Control》的透明材質反射
從PC上的經驗來看我們都知道光線追蹤反射作為一個特效是非常吃幀的,那麼他們在PS5上又是如何實現的呢。第一個比較明顯的優化手段就是光線追蹤反射本身的内部分辨率,觀察反射本身,其内部分辨率就一目了然了,在這一場景中觀察這個邊緣,你能夠看到沒有光線追蹤反射的邊緣像素寬度為1,也就是4K分辨率,而那些具有光線追蹤反射所産生的鏡面關澤的邊緣,其像素邊緣寬度為2,因此光追反射與非光追反射的像素為1:4,也就是1080p,這意味着像這樣的光線追蹤反射邊緣分辨率為原生分辨率的1/4,一個讓我比較好奇的東西就是這些反射中移動的邊緣本身有着鋸齒線,就像棋盤渲染那樣,這就讓我很好奇實際反射分辨率會不會是低于1080p的,也就是棋盤渲染或是交錯上來的1080p分辨率,這一較低的分辨率是會對任何鏡面反射程度高的邊緣有負面影響的,像是這裡車頭上的細節看上去分辨率要比周圍的場景更低。
現實世界中,除非反射面是完美的鏡子,稍微粗糙的表面反射都會根據鏡頭的位置變得更漫射或是模糊,要渲染出這種這種光澤反射需要追蹤更多的光線,才能夠營造出較軟部分的反射,并且這種表面的着色也更加複雜,解決這一問題的方法即便是屏幕空間反射也是選擇完全不計算這一點,而是後期處理加上模糊的濾鏡,這樣來做反射雖然不符合物理規律,但仍能夠以較低的性能開銷實現不同材質的反射,所有Decima引擎的遊戲中屏幕空間反射都是這樣做的,而也正如Morgan Mcguire的動态漫射全局光照論文中所描述的,光線追蹤反射也可以這樣子做。
仔細觀察此處《GT7》的光線追蹤反射,你能夠注意到所有的反射表面都有着相同的銳度,它們不會根據單個材質的類型不同而改變銳化級别,相反則是使用統一的銳度,這讓我覺得他們在這裡使用了相似的優化手段。
《瑞奇與叮當:裂痕》
接下來是另一款同樣有着光線追蹤反射的遊戲,《瑞奇與叮當:裂痕》,根據遊戲開發者所說到的,至少在Clank本身上是有光線追蹤反射的,在這一場景中你能夠看到Clank自己下巴上的金屬反射出了自己的身體。
這一演示看上去是在不少最光滑的表面上使用了光線追蹤反射,像是演示區域中的金屬地闆,他們在整個表面上使用了一套統一的反射率級别,另一點有趣的就是有不少物件光線追蹤反射沒有反射出來的,像是這裡室外的掩體,你可以看到掩體後方的反射卻看不到掩體本身的反射,或是這裡的欄杆,反射中也沒能反射出這一物件。我不太确定這是Bug還是為了優化。
另一點就是物件在受到破壞後便無法反射,你能看到這裡的椅子在靜止時是有反射的,但在移動并變成碎片的那一刻便丢失了反射,之所以這樣優化可能是因為對于移動或是快速變化物件的加速架構在光線追蹤下需要實時地在GPU上重建,并且不能夠從靜态内容中繪制,而且這是在對它們的光線追蹤與着色上的二次開銷,在動态場景下會占用許多毫秒的幀時間,這種所謂的BVH重建使得像是人物這樣的移動物件或是可破壞場景相比靜态的性能開銷更大。
《幽靈行者》
與這些用上各類優化手段相反的則是由Blue Twelve工作室帶來的《Stray》,其使用了虛幻引擎4,虛幻4作為一款引擎默認就有着質量非常高的光線追蹤反射,并且能夠模拟出拉伸,模糊等方面,但往往也性能開銷很大,像是PC版的《幽靈行者》。
《Stray》遊戲畫面
像是這個場景中理發機器人與它的顧客站在鏡子前,屏幕外的物件也很好的反射在其中,說明這并非屏幕空間反射,因為鏡子不是非常的光滑,反射的清晰度會随着材質表面而變化,看上去真是棒極了,并且鑒于我對虛幻引擎4的了解,這性能開銷可不小。
随着我們走到室外,能夠看到符合物理規律的反射表面上不同程度的粗糙度,像是拉伸模糊之類的都有,你還能夠在預告片中看到這輛三輪車玻璃窗上的光線追蹤反射。
《惡魔之魂:重制版》
由藍點工作室制作的《惡魔之魂:重制版》,根據PlayStation博客所說的,這款遊戲支持光線追蹤陰影,但我不太确定他們說的是間接陰影還是直接陰影,并且預告片中并沒有哪一處能夠明顯表明它們使用了光線追蹤。
但我認為一個比較明顯的光線追蹤用法,同時也是PS5發布會中最有趣的一個,而那就是卡普空的《Pragamata》,其使用的RE引擎于本世代助力了不少畫面驚豔的遊戲,這款遊戲中一共有兩項光線追蹤特效,第一個是光線追蹤反射,在發布會中的剪輯版預告片中小孩眼中的光線追蹤反射非常的明顯,你能夠看到她眼中光線追蹤反射建築物上的廣告牌在實時的變化,并且觀察的夠仔細的話,你還能夠看到她的眉毛與臉部以扭曲的形式反射在眼中,光線追蹤反射就好在這點,它們能夠提供無限精準的細節以及自身反射,無論鏡頭距離有多遠。
《Pragamata》在預告片中優化手段是将光線追蹤反射與屏幕空間反射混合在一起,像是人眼或是地上的水坑都有着光追反射,但像是街道地面這樣的則主要是通過屏幕空間反射實現的。你能看到右邊的反射在小孩移動她的頭部時變黑,這是一個很巧妙的優化手段。
預告片中的第二個光線追蹤特效甚至更有趣,而那就是光線追蹤全局光照,在宇航員這個角色走過黃色車時最為明顯,随着他們走上去時,光線照明到出租車後的黃色反射光從而又照在了宇航員左側身上,并且在他舉起手後,你甚至能夠看到手臂上的反射光打到胸部上形成的間接陰影,這樣的光照細節級别真是太棒了。雖然隻有在此處這一效果最明顯,但整個預告片之所以觀感看上去會那麼好都是因為有它的存在。
光線追蹤全局光照的一個副作用在卡普空自己發布的未壓縮預告片中能夠很明顯的的看到,你能夠注意到人物身上的間接光照噪點非常的多,就好像這些光照是由小點點組成的,但是實時光線追蹤若是沒有很好的去噪就是這個樣。當然了我也不知道2022年《Pragamata》發售後最終成品效果會如何,但在我看來這就是PS5發布會中最出色的光線追蹤運用了,也許這預示着未來幾年後我們将看到的光線追蹤水平,巧妙的将光線追蹤反射性能開銷降低,并将剩下的運算能力留給真正改變遊戲觀感的實時全局光照。
,