第221章 風起赫爾辛基(7)

关灯護眼    字體:

[上一章] [目錄] [下一章]

某種程度上在2D遊戲場景中設定3D渲染區域而後在所述3D渲染區域顯示多個2D圖片這一舉動就很類似於立體書的運作過程。

只不過架構這種“立體書”的過程遠比繪製現實中那種小兒科般的立體書在實現起來的時候明顯要複雜的多。

為什麼這麼說呢?

因為這個過程需要涉及到對2D遊戲場景進行分層。

要將2D遊戲場景中所述摺疊冊頁所在的區域設定為採用3D渲染策略的3D渲染層。

所述3D渲染層不光要對應於所述3D渲染區域,同時為了避免一些瑕疵的出現。

還要將2D遊戲場景中的背景區域設定為採用2D渲染策略的2D渲染層。

而後要將3D渲染層覆蓋到2D渲染層之上。

通常這個覆蓋的採用的形式是:

——對所述2D渲染層採用正交投影方式進行投影,對所述3D渲染層採用透視投影方式進行投影。

並不是簡簡單單疊加就完事了。

在遊戲中涉及到具體到表現的時候還要繪製2D渲染層到顏色緩衝區。

將2D渲染層的所有畫素深度設為最大深度而形成為所述2D遊戲場景的背景;

繪製3D渲染層到顏色緩衝區:

對於3D渲染層的所有畫素深度設為小於所述最大深度。

使得3D渲染層投影生成的畫面覆蓋背景所在2D渲染層的相應區域。

如此才能在2D畫面上實現的3D視覺效果。

這個過程聽起來就很麻煩。

雖然不明白大道至簡的道理,但帕/納/寧同樣認為而麻煩的事物往往意味著實際執行的時候容易出現這樣那樣的問題。

反正帕/納/寧覺得GRAY FOREST所用的絕對不是這種方法。

在老搭檔面前帕/納/寧自然沒有遮掩。

他將他這個想法毫無保留地說給了貝尼託·瓦西里耶維奇。

貝尼託·瓦西里耶維奇深以為然。

帕/納/寧道:“我的老夥計,你把我搞湖塗了。

你剛才說GRAY FOREST所做的無非就是以2D的形式進行了3D的表現從而實現3D的視覺效果。

可你也同意了我剛剛的觀點——認為GRAY FOREST採用的不是透過引入3D渲染區域再構建‘摺疊冊’的那種做法。

莫非你想說的是除了我剛才說的這種方法之外,還有別的方法可以在2D畫面中進行3D表現?

在電腦遊戲中除了我剛才說的那個方法,確實還有很多別的方法在2D畫面中進行3D表現。

但恕我實在想不到在手遊裡除了構建3D渲染區域之外,還有哪些可以實現在2D畫面中實現3D效果的技術。

哦,我親愛的貝尼託·瓦西里耶維奇,別繞彎子了,快告訴我你究竟是怎麼想的。”

貝尼託·瓦西里耶維奇理了理思路,而後開口說道:“首先說到你剛才提到的觀點,我和你也是同樣的見解。

利用類似於摺疊冊的形式實現《HILL CLIMB RAG》這款遊戲裡下雨場景中那種頗具層次感的畫面雖然在理論上行得通。

但僅僅是理論上,GRAY FOREST在《HILL CLIMB RAG》用的絕對不是這種方法。

如果按照你說得那種方法在實際操作的時候涉及到將3D渲染層覆蓋到2D渲染層之上時。

這個過程需要對2D渲染層採用正交投影方式進行投影,對所述3D渲染層採用透視投影方式進行投影。

而這兩種投影涉及到的計算都極其龐大。

尤其是透視投影是典型的計算密集型投影,這個過程涉及到三角計算。

並不是sin x、cos x那種簡單的三角計算,涉及到這個過程中的三角計算通常伴隨附加有包括矩陣和失量相乘的運算。”

貝尼託·瓦西里耶維奇接著說道:“隨著場景中所記錄細節的量的增大時,用來渲染該場景的冗長計算的數量也將增大,這對CPU是個極大的考驗。

常規情況下,涉及到一般物體的投影計算都很吃CPU。

更何況是涉及到下雨這個場景,如果按照你說得這種辦法進行透視投影的話。

實時計算量將隨著雨滴數量的增多而呈現出指數增長。

恕我直言,別說5s中的A7處理器是一枚桌面級處理器。

就是A7處理器的處理效能在此基礎上再翻一番恐怕也只能勉強滿足這種運算需求。

巧婦難為無米之炊,如果真的是採用這種方式的話,現有的CPU水平根本無法提供技術支撐。

假設GRAY FOREST所採用的真是這種方式的話。

那麼在現有的技術水平下,執行這麼一款計算量超級多的遊戲時會出現什麼樣的反應呢?

【新章節更新遲緩的問題,在能換源的app上終於有了解決之道,這裏下載 huanyuanapp.org 換源App, 同時查看本書在多個站點的最新章節。】

這些額外的計算大機率會要求以移動裝置減小的幀速率進行遊戲。

但經過我們的實測同樣的5s機型在執行《HILL CLIMB RAG》這款遊戲時在屋頂場景的小雨環節並不會出現幀速率減小的情況。

這也從側面驗證了我們先前的判斷。

即—GRAY FOREST在《HILL CLIMB RAG》用的絕對不是引入3D渲染區域而後構建摺疊冊的方式。

除此之外,我覺得GRAY FOREST所採用的方式也不是傳統意義上的遊戲渲染。

一般來說涉及到2D遊戲畫面相對應的遊戲渲染通常所採取的步驟通常是:

先獲取2D遊戲畫面資料而後分析2D遊戲畫面元件的初始座標;

在獲得初始座標之後根據所述初始座標構建所述2D遊戲畫面元件的實際座標系。

接著,基於上面所構築的實際座標系,將2D遊戲畫面對映成3D遊戲畫面才具有的視覺效果。

再之後要將對映的3D遊戲畫面的資料快取到快取器中。

當接收2D遊戲的執行指令,只需要根據所述執行指令調取快取器中已經生成的3D遊戲畫面的資料就可以了。

同時為了增強表現形式,還需要對調取的3D遊戲畫面進一步渲染。

上述這個過程對GPU的要求很高,GPU必須有強大的實時渲染能力。

這樣的做法雖然理論上行得通,但也僅僅是在越獄後蘋果手機或者ROOT之後的安卓手機上菜行得通。

但在正常狀態的手機中根本不大現實。

畢竟一個應用能呼叫的GPU大多數情況下都是相當有限的。

因此我認為GRAY FOREST在《HILL CLIMB RAG》用的絕對不是這種方法。”

[上一章] [目錄] [加入書籤] [下一章]
推薦閱讀
相鄰閱讀