1. 程式人生 > >3D遊戲引擎技術架構設計

3D遊戲引擎技術架構設計

市面上目前流行最廣的遊戲引擎,在2D領域是Cocos2d引擎,在3D領域是Unity3D。這二者分別佔領2D遊戲開發市場和3D遊戲開發市場,雖然虛幻4也開始發力,引擎程式碼開源。但是由於它是C++編寫的,對於一些初級使用者使用起來比較困難,推廣起來有點難度。除了上面提到的引擎還有一些開源的3D引擎,比如最著名的是Ogre圖形引擎。這些引擎的開發對於開發者來說要求都比較高。在中國各大IT知名公司比如騰訊,網易,巨人,蝸牛,網龍等等,它們都有公司的自研引擎。引擎是遊戲開發的最底層技術,而掌握這些技術的人相對來說非常少。但是並不是說對於初級開發者就沒機會了,因為對於開發者來說一直開發邏輯,對於自己的提升是非常不利的。這個不利於主要在於兩點:一點是對於引擎的介面內部是如何實現的不清楚;二點是對於引擎的整體架構設計一無所知。久而久之,自己與別人的差距會越來越大,能力與薪資是成正比的。對於開發者如何學習引擎或者說如何架構引擎,筆者在這裡就給你一一解密。

       說到引擎的底層設計,就不得不提兩個流水線:固定流水線和可程式設計流水線。固定流水線通過字面意思知道:“固定”就是按照固定的步驟進行,比如我們要把美術之作的3D模型繪製到PC端的顯示屏上或者移動端的顯示屏上。它們之間要經歷過一系列的矩陣變換。空間中的3D的點都是三維的,但是三維的點無法實現物體的平移,旋轉,縮放這些變換所以程式會將三維的點擴充套件成四維的點。這樣通過4X4矩陣實現上述物體的變換,其固定流水線效果圖如下所示:


固定流水線是最基本的,作為開發者來說必須掌握的,可程式設計流水線是基於固定流水線基礎上發展起來的,就是把一些矩陣變換放在GPU中進行。掌握了引擎技術對於開發者編寫邏輯幫助也是非常大的。筆者利用固定流水線開發了一款遊戲,主要內容都收錄在了《手把手教你架構3D遊戲引擎》電子工業出版社,在天貓,京東等都有銷售。書的內容主要是介紹了固定流水線變換中使用的矩陣變換以及利用該流水線實現了一款遊戲引擎,在此引擎的基礎上開發了一個Demo。非常適合初級開發者,書的編寫語言非常易懂。從底層程式碼編寫到引擎架構設計逐一講解,本書的編寫不同於其他書籍的存理論而是實際專案開發。另外附上筆者的個人網站:

www.vr3d-edu.com  歡迎訪問。

筆者在業餘時間喜歡錄製視訊和編寫書籍,在CSDN線上教育51CTO學院泰課學院都有視訊課程,講述的都是實戰技術,歡迎大家訪問。

最後再給讀者推薦一本非常實用的技術書籍《Unity3D實戰核心技術詳解》電子工業出版社 已在天貓和京東等平臺釋出,書中的技術可以直接應用到專案開發中。書的編寫不同以往而是採用理論與案例相結合的方式。