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


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


    反正帕/納/寧覺得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所采用的真是這種方式的話。


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


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


    但經過我們的實測同樣的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之後的安卓手機上菜行得通。


    <a id="wzsy" href="http://m.lingdiankanshu.com">零點看書</a>


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


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


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


    帕/納/寧:“那你認為GRAY FOREST采用的究竟是什麽方式呢?”


    貝尼托·瓦西裏耶維奇:“對此我也隻能猜測,一個人設計遊戲時采用的方式很大程度和其開發風格有很大的關係。


    GRAY FOREST雖然崛起的很迅速, 像一顆冉冉興起的新星,但此人開發手法是相當老練的。


    畢竟在開發《HILL CLIMB RAG》這款遊戲之前,GRAY FOREST已經開發了三個作品了。


    這些作品都得到了市場的驗證,廣受遊戲玩家的喜愛。


    能取得這樣的成績的GRAY FOREST也可以說得上是一個極其有經驗的遊戲開發者了。


    而這樣的人在涉及到具體遊戲開發時不可能憑空給自己製造麻煩。


    因此我推斷GRAY FOREST所采取的一定是最簡單的方式。


    另外不久前GRAY FitHub上上傳了他之前開發《2048》所設計的代碼。


    開始的時候我並沒怎麽當回事,因為這段代碼形式並不算很簡潔。


    但絕對是在iOS上運行起來效率最高的。


    其實像《2048》這種簡單的小遊戲,即便是運行效率有點區別,也不會影響太大。


    可偏偏GRAY FOREST一定要搞一個效率最高的。


    這說明這個人骨子裏就追求高效率。


    這樣一個一味追求高效的人在設計《HILL CLIMB RAG》這款遊戲中所采用場景構建一定是最高效的。


    而在2D遊戲中最高效的做法絕對不是額外引入3D渲染區。


    基於效率方麵的分析以及對遊戲畫麵進行判斷。


    我認為GRAY FOREST在下雨場景中雨滴之所以看起來很有層次感是因此采用了一種視覺欺騙。”


    帕/納/寧疑惑道:“視覺欺騙?”


    貝尼托·瓦西裏耶維奇:“對的,就是視覺欺騙,一般我們會下意識的認為‘近大遠小’。


    因此涉及到雨滴層次感架構的時候,隻需要將雨滴表現的大小不一即可。


    當然,涉及到如此濃密的雨滴,GRAY FOREST絕對不可能一滴滴地去繪製。


    正常來講,2D畫麵,就是隻有X、Y軸的畫麵,不存在Z軸;


    而3D畫麵,則是有X、Y、Z軸的畫麵。


    而GRAY FOREST采用的做法應該是在2D遊戲中引入了虛擬的Z軸。


    我猜測GRAY FOREST具體來說是這樣做的。


    因為在遊戲中,像雨滴這種東西一般都是由粒子係統進行表示的。


    [一般來說粒子係統表示三維計算機圖形學(CG)中模擬一些特定的模糊現象的技術。


    之所以將這些現象稱為模糊現象是因為用其它傳統的渲染技術難以實現的真實感的遊戲圖形。


    經常使用粒子係統模擬的現象有火、爆炸、煙、雨、火花、落葉、雲、霧、發光軌跡這樣的抽象視覺效果等等。


    粒子係統的核心是粒子發射器生成的一個個行為獨立的粒子,共同構建出動畫]


    在對遊戲中引入虛擬的z軸之後。


    這樣我們在遊戲開發中進行雨滴層次感的構建的時候。


    完全可以讓粒子發射器在發射天氣粒子(雨滴)的時候,賦予天氣粒子(雨滴)一個虛擬深度值Z。


    在天氣粒子的整個生命周期中,虛擬深度值Z保持不變;


    Z值和天氣粒子(雨滴)狀態之間應該存在著一個函數,


    這個函數所起到的作用是縮放作用是對雨滴進行縮放。


    並且這個函數將賦予深度值不同的天氣粒子以不同的視覺大小和運動狀態。


    再之後將縮放變換結果分別發送至粒子大小顯示單元和粒子運動狀態顯示單元


    如此一來,理論上應該會使2D遊戲中的天氣粒子具備層次感。


    當然, 這隻是我的猜測而已,想要知道問題真正的答案,還需要進一步的分析。


    再或者,我們要向GRAY FOREST本人尋求答案。”


    (ps:……天氣粒子分層這個是豬場的技術,原本是14年末出現的)


    帕/納/寧聽到這個分析,似乎又收獲了一些新的啟發,不過他也有不解之處。


    帕/納/寧說道:“隻是這樣嗎?我記得在很多遊戲的建築場景都常用到這種類似的近大遠小效應啊。”


    貝尼托·瓦西裏耶維奇說:“確實很多2D遊戲中都用到了近大遠小這種效應。


    尤其是涉及到像2D遊戲裏涉及到回廊的場景,進行這種近大遠小的設計是常有的事情。


    但在此之前,從未有人想過將這種效應應用在天氣粒子上。


    事實上在過去手機遊戲開發裏涉及到一些諸如天氣效應的場景中,很少有像GRAY FOREST這麽較真的開發者。


    在我看來,GRAY FOREST是一個另辟蹊徑的探索者,這樣的人是勇士。


    而且,如果誠然像我們猜測的那樣,現在GRAY FOREST已然走出了一條從未有人走過的路。


    就拿虛擬深度值Z和天氣粒子之間存在的函數吧。


    假如說這個函數是:?=F(Z)


    盡管我們能知道這個函數的具體作用,但我們尚且無法知道這個函數具體涉及到哪些參數。


    而且即便是天氣粒子層次感這個問題解決了,還有很多問題依然困惑著我們。


    就比如說為什麽GRAY FOREST設計的下雨場景中並沒有出現一般遊戲裏天氣粒子常常呈現的“井噴”或者斷續。


    為什麽《HILL CLIMB RAG》這款遊戲裏下雨場景開始和結束時涉及到的一些過渡很自然?


    除此之外還有很多很多的問題,總之涉及到這款遊戲的兼並不管別人怎麽看。


    反正我從純技術的角度看待,這筆交易是不虧的。


    能夠吃透這個遊戲裏涉及到的全部技術對於我們超級細胞有著很大的助力。”


    帕/納/寧道:“放心,我不會因為外界的一些非議動搖決心。


    事實上我打算最近就將意向書敲定成正式合同。”


    貝尼托·瓦西裏耶維奇點點頭。


    隻聽帕納寧接著說道:“對了,另外經過你剛才的提示,雖然關於如何解決‘井噴’的問題我還沒答案。


    但涉及到天氣粒子的‘斷續’問題我似乎有答案了。


    之所以我們未能看見天氣粒子井噴和斷續的現象,大概率是因為在《HILL CLIMB RAG》這款遊戲中預緩存一些天氣粒子。


    剛才你提到預緩存一些3D場景很考驗GPU,但預緩存一些天氣粒子基本上對GPU壓力不大。


    通過這個小做法,可以使玩家在遊戲場景移動時觀測到的粒子是平滑連續。”


    貝尼托·瓦西裏耶維奇也認同了這一觀點。


    貝尼托·瓦西裏耶維奇接著道:“剩下的問題我覺得我們也沒必要再糾結了。


    我聽說中國有一個軟件叫YINXIANG(音象),在上麵可以隱藏身份提問一些問題。


    而據我了解GRAY FOREST就玩這個軟件。


    或許到時候我們可以在上麵以有償問題的形式請教GRAY FOREST一些技術層麵的問題。


    這筆我們這樣無頭蒼蠅似的亂撞要好得多。”


    帕納寧:“這倒是個好主意。


    哎,涉及到遊戲開發為什麽GRAY FOREST總有那麽多靈感。


    而且這些靈感不得不說這還真是不錯的思路。


    按理說這些東西也不是很難想到,可為什麽偏偏我們就沒想到呢?”


    貝尼托·瓦西裏耶維奇:“我覺得這不是我們的問題。


    而是GRAY FOREST太天才了。


    我現在倒是愈發覺得這樣的遊戲設計天才,即便他沒跟全新的遊戲開發引擎有瓜葛。


    這樣的人才也應該是吸納進我們超級細胞來的。


    光是他那層出不進的點子就讓人讚歎不已了。”


    帕/納/寧知道這話是貝尼托·瓦西裏耶維奇的真心話。


    貝尼托·瓦西裏耶維奇盡管技術方麵很過硬,但從來不排斥其餘人才。


    帕/納/寧:“我也想將這樣的人吸納進來,但很難啊,像GRAY FOREST這樣的人很難用錢打動啊!”


    貝尼托·瓦西裏耶維奇卻不完全認同這個觀點:“或許我們可以用誠意來打動他,如果能允許GRAY FOREST此人利用我們現有的所有資源去開發遊戲呢?虧了的我們負責,盈利的五五分享,我感覺他應該很難抗拒這樣的誘惑吧!


    當然這隻是一種建議,具體怎麽決定還是你說了算。”


    帕/納/寧一時之間感覺眼前一亮。


    畢竟全球範圍內還沒幾年遊戲公司能夠拿出一個年營收超過十億美元的手遊讓一個‘準新人’在此基礎上做開發。


    在部落衝突這樣的超級IP麵前沒人不會心動吧?


    帕納寧相信GRAY FOREST也無法抗拒這個誘惑。

章節目錄

閱讀記錄

穿越:2014所有內容均來自互聯網,uu小說網隻為原作者豬熊的小說進行宣傳。歡迎各位書友支持豬熊並收藏穿越:2014最新章節