為什麼很多遊戲都沒有真正的鏡子?

老玩家可能留意到一個現象:不少游戲中都沒有鏡子,即便有鏡子也只是擺設,這是為什麼呢?

其實,很多游戲都不會通過模擬真實光線來展示場景,因為製作一面真正的鏡子需要「光線追蹤」技術。這是一種特殊渲染演算法,追蹤光線從來源開始照射到物體上,再由物體反射的光線路徑。但由於計算量龐大,因此現有技術僅運算「目所能及」的光線路徑。

因此,游戲開發者盡量避免設計功能性鏡子。通常來說,每設計一面鏡子,就要解決一大堆麻煩的問題,包括映射光,計算並顯示完整的反向和傾斜的圖像等。這樣一來,不僅可以節省大量測試時間,還能夠減少BUG。

你在游戲中看到的「假鏡子」幾乎都用了立方體貼圖技術——基本上紋理會根據相機角度發生變化。1999年,英偉達率先推出立方體貼圖技術,用於PS1的賽車游戲。該技術相當古老,但今天依然被人使用。

當然,如果游戲中的對象不多,開發者可以設計一面功能性鏡子。比如《超級馬里奧:奧德賽》中就有一面鏡子,你可以看到鏡像世界。只不過為了降低計算量,鏡中以較低的解析度渲染,所以看起來有點顆粒感。

如今,頂尖GPU的性能已經足夠強大,不少游戲也支持「光線追蹤」,對於開發者來說,設計功能性鏡子並不困難,只是願不願意的問題。而對於高性能PC來說,運行這樣的渲染也不在話下。

我之前玩《賽博朋克2077》就留意到一個細節:V在家中照鏡子是需要打開選項的,並非「實時渲染」,CDPR這樣做可能是為了減輕計算量,畢竟夜之城是那麼的龐大和復雜。

總而言之,在游戲中設計鏡子看似是小事,背後卻有一套復雜的機制,而隨著硬體性能的不斷提升,呈現鏡面世界已經不再是遙不可及。

隨便看看 更多