顯然,游戲并不是魔術(shù),但是如果你不知道游戲在表象背后的運(yùn)行原理,可能它們看起來(lái)就像是變魔術(shù)。最近有一張非?;鸬膭?dòng)圖,展示了《地平線:黎明時(shí)分》的游戲引擎是如何渲染場(chǎng)景的,(小編注:游戲使用的Decima引擎也將是小島秀夫的《死亡擱淺》將要使用的引擎),從這張動(dòng)圖中,我們看出游戲在運(yùn)行中其實(shí)只渲染玩家視野所見(jiàn)的場(chǎng)景。
對(duì)于很多人而言,這樣的動(dòng)態(tài)場(chǎng)景在初次看到時(shí)可能感到非常震撼。奇怪的是,相對(duì)于普通玩家對(duì)這種技術(shù)的興趣,很多開(kāi)發(fā)者似乎已對(duì)這種技術(shù)見(jiàn)怪不怪了。所以我們?cè)谶@里為大家補(bǔ)充一些這方面非常有意思的“黑科技”知識(shí),看這些技術(shù)是如何讓游戲中的世界看起來(lái)非常絕妙的。
就讓我們從開(kāi)始的那張《地平線:黎明時(shí)分》魔術(shù)般的渲染圖開(kāi)始吧。
Culling(剔除)
Culling(剔除)也就是削減,在游戲中其作用就是通過(guò)只渲染玩家看到的場(chǎng)景來(lái)減少游戲引擎的工作量。目前還沒(méi)有一臺(tái)PC或是主機(jī)可以一次性渲染《地平線:黎明時(shí)分》中的所有場(chǎng)景,所以這項(xiàng)技術(shù)就通過(guò)不再渲染游戲中玩家視角之外的大部分場(chǎng)景,來(lái)減少游戲機(jī)的工作量。Culling主要有兩種類型:Frustum Culling(椎體剔除),即渲染視角中的所有場(chǎng)景;Occlusion Culling(遮擋剔除),則只渲染鏡頭內(nèi)視角中可以直接看到的場(chǎng)景(被視角內(nèi)物體遮擋的物體不渲染,更多的減少了機(jī)器的工作量)
下面的動(dòng)圖就展示了兩種渲染的不同原理:
Level of Detail(細(xì)節(jié)層次)
另外一項(xiàng)游戲可以節(jié)省寶貴運(yùn)行資源的原理是,只展示近處場(chǎng)景物體的細(xì)節(jié)。這種技術(shù)會(huì)在玩家接近物體過(guò)程中,逐步提升相應(yīng)物體的細(xì)節(jié)表現(xiàn)層次??纯聪旅孢@些細(xì)節(jié)層次不同的3D渲染的兔子吧:
到自助洗車店,品百態(tài)人生。
GHS還是第一生產(chǎn)力
網(wǎng)絡(luò)炫富的上半場(chǎng)已經(jīng)過(guò)去,現(xiàn)在到來(lái)的是賽博哭窮下一階段。