- 游戲引擎原理與實踐·卷1:基礎(chǔ)框架
- 程東哲
- 2789字
- 2020-02-28 19:10:56
前言
寫作本書的緣由
游戲引擎技術(shù)在國外發(fā)展十分迅速,根本原因在于國外的從業(yè)者有很扎實的基礎(chǔ),每一代引擎都是根據(jù)游戲迭代而來的。國內(nèi)游戲行業(yè)起步相對較晚,再加上從業(yè)者有時急于求成,引擎的人才積累遠(yuǎn)遠(yuǎn)不如國外,導(dǎo)致國內(nèi)的自研引擎企業(yè)寥寥無幾。學(xué)習(xí)游戲引擎開發(fā)的門檻很高,不具備一定知識是很難自學(xué)的,這就讓很多想學(xué)習(xí)引擎的人覺得遙不可及。
本書主要講解游戲引擎的制作與開發(fā),通過詳細(xì)的引擎代碼示例來剖析引擎中的內(nèi)部技術(shù)。書中內(nèi)容有些是目前市面上比較成熟的解決方案,有些是作者優(yōu)化并改進(jìn)的新的架構(gòu),對學(xué)習(xí)和研發(fā)引擎開發(fā)有很大幫助。如果使用商業(yè)引擎,本書對理解引擎的內(nèi)部架構(gòu)并很好地使用引擎也會幫助很大。
通過本書,讀者可以清晰地了解大企業(yè)制作引擎的基本流程和思路,從而以高效地制作游戲為最終目標(biāo)。一個好的引擎應(yīng)該做什么,不應(yīng)該做什么,本書都會詳細(xì)介紹。
本書內(nèi)容
本書的很多概念都來自Unreal Engine,但決不是照搬Unreal Engine來講解。本書配套引擎的代碼只有不到10%的地方參照了Unreal Engine,大部分內(nèi)容是通過另一種方式甚至采用其他的架構(gòu)來實現(xiàn)的。本書首先幫助讀者理解什么是游戲引擎以及游戲引擎的組成部分,讓讀者對游戲引擎有一個全面的認(rèn)知。通過“蓋樓”的方式,一步步幫助讀者建立游戲引擎底層模塊,這些底層模塊是游戲引擎的基石,幫助游戲開發(fā)人員和游戲引擎進(jìn)行有效的“溝通”,并為在游戲引擎中實現(xiàn)動畫、渲染等高級效果提供很好的保障。本書配套的自研引擎叫作VSEngine,作者在實際工作中的一些技術(shù)思路和嘗試都以它為基礎(chǔ),隨著作者自身能力的提升,這個引擎也先后重構(gòu)過多次。
本書提供了100多個示例,盡可能透徹地說明問題,其中標(biāo)題帶*號的章節(jié)都沒有給出具體的實現(xiàn),而只是介紹了詳細(xì)做法。讀者如果想真正掌握本書的知識,就應(yīng)該完全自己去實現(xiàn)它們。同時每章都有一些練習(xí),有一些是作者準(zhǔn)備實現(xiàn)但沒時間去實現(xiàn)的;有一些練習(xí)很難,即便是經(jīng)驗豐富的引擎開發(fā)人員,如果沒有這方面的實踐,也需要認(rèn)真思考一番。
本書計劃分為兩卷出版。卷1主要涉及游戲引擎的基礎(chǔ)架構(gòu),一共13章,各章主要內(nèi)容如下。
第1章并沒有像其他傳統(tǒng)技術(shù)圖書那樣介紹游戲引擎,而使用一個例子去解釋什么是游戲引擎,并從一個引擎開發(fā)者的角度剖析一些引擎開發(fā)的問題。
第2章介紹引擎和引擎編輯器,以及學(xué)習(xí)引擎所需要的基礎(chǔ)知識。
第3章介紹一些底層基礎(chǔ)部分,包括文件系統(tǒng)、線程系統(tǒng)、內(nèi)存管理等和底層跨平臺相關(guān)的內(nèi)容。
第4章介紹引擎中使用的基本數(shù)據(jù)結(jié)構(gòu),包括數(shù)組、隊列、鏈表等類型,這些數(shù)據(jù)結(jié)構(gòu)沒有采用第三方庫,都是重新實現(xiàn)的。
第5章介紹數(shù)學(xué)庫,這里并沒有介紹每一種數(shù)學(xué)算法,而只列出本書配套引擎的數(shù)學(xué)庫中的相關(guān)代碼和功能,并給出具體算法的出處。
第6章講解引擎初始化方面的知識,引擎中存在很多單件實例管理器、默認(rèn)值、默認(rèn)資源,有效地初始化它們是很有必要的。
第7章介紹應(yīng)用程序框架。不同平臺對應(yīng)的程序入口和執(zhí)行流程不同,有效地跨平臺和用統(tǒng)一的流程管理成為游戲設(shè)計中很重要的一個方面。該章還介紹如何關(guān)聯(lián)不同的輸入/輸出設(shè)備到引擎中。
第8章介紹引擎中的對象系統(tǒng),包括智能指針、RTTI、屬性和函數(shù)的反射與復(fù)制、存儲、加載、克?。╟lone)、屬性與UI的映射。該章最后還介紹了Unreal Engine 4的反射機(jī)制。強(qiáng)大的對象系統(tǒng)是一個好的引擎必不可少的。
第9章介紹引擎中資源的管理,包括外部資源和內(nèi)部資源,并講解如何有效組織這些資源。
第10章介紹引擎設(shè)計的一些哲學(xué)理念。深入了解引擎設(shè)計理念對于使用和制作引擎都有很大幫助。該章最后一節(jié)介紹的內(nèi)容是引擎設(shè)計哲學(xué)的一個延伸,有助于讀者全面了解垃圾回收機(jī)制。
第11章講解場景管理,包括管理場景物體和相機(jī)之間的裁剪關(guān)系。該章最后簡單介紹遮擋剔除。
第12章介紹如何把一個FBX靜態(tài)模型導(dǎo)入為引擎格式的靜態(tài)模型,并添加材質(zhì)和渲染。
第13章講解LOD技術(shù),包括如何生成模型的LOD以及集成到引擎中進(jìn)行渲染,同時介紹在引擎中如何加入和實現(xiàn)地形。
游戲引擎的其他一些相關(guān)內(nèi)容,包括骨骼模型、動畫、渲染技術(shù)、多線程以及其他額外話題,將納入《游戲引擎原理與實踐 卷2:高級技術(shù)》中。
本書特色
不同游戲引擎的內(nèi)部架構(gòu)千差萬別,而且游戲引擎涉及的知識點甚多,很少有人能全面把握每一個知識細(xì)節(jié)。同時,游戲引擎屬于實踐性的工程,必須有足夠令人信服的演示示例以及代碼支持,加上商用引擎的授權(quán)、作者個人時間有限等各方面的因素,導(dǎo)致市面上的游戲引擎圖書要么泛泛而談,要么距離真正開發(fā)游戲相去甚遠(yuǎn)。讀者閱讀完這類圖書之后,并不知道一個商業(yè)引擎應(yīng)該具備什么,應(yīng)該如何寫一個商業(yè)游戲引擎。本書旨在彌補(bǔ)目前市面上引擎圖書的不足之處,盡量詳細(xì)地解答上面所涉及的問題。
目前國內(nèi)有自研引擎能力的公司和個人都很少,本書提供了一個良好的知識儲備,幫助沒有寫過商業(yè)引擎的人揭開游戲引擎的神秘面紗。讀者只要詳細(xì)閱讀本書并了解每個知識點,就能夠極大地提升引擎開發(fā)能力。即使你使用商業(yè)引擎,通過閱讀本書,也能夠更好地理解引擎機(jī)制,在使用相應(yīng)的游戲引擎的時候更加得心應(yīng)手,同時你還將具備修改商業(yè)引擎的能力。
讀者對象
本書要求讀者熟練掌握C++、數(shù)據(jù)結(jié)構(gòu)、3D編程、設(shè)計模式以及多線程的基礎(chǔ)知識,否則對本書中的一些內(nèi)容理解起來會比較困難。如果你有一定的3D游戲開發(fā)經(jīng)驗,或者你是想要嘗試3D引擎開發(fā)的新手,本書會非常適合你閱讀和學(xué)習(xí)。
本書對大部分比較難的知識點會詳細(xì)講解,而對于和游戲開發(fā)相關(guān)度較小的一些簡單與基礎(chǔ)的知識點,本書則會列出相關(guān)的圖書和資源,推薦讀者去閱讀。
通過閱讀和學(xué)習(xí)本書,讀者能夠:
?了解游戲引擎的基本原理和作用;
?了解大公司開發(fā)引擎的基本流程;
?獲得良好的游戲引擎方面的知識儲備;
?通過本書專門配套的引擎和示例,可以了解開發(fā)游戲引擎的具體細(xì)節(jié)。
資源支持
本書代碼可以從異步社區(qū)(www.epubit.com)下載,其中包括本書配套引擎和為講解引擎而準(zhǔn)備的示例程序。
作者簡介
程東哲,游戲引擎開發(fā)工程師,吉林大學(xué)計算機(jī)碩士,現(xiàn)就職于騰訊公司,曾先后參與了《逆戰(zhàn)》《斗戰(zhàn)神》《眾神爭霸》《無盡之劍——命運XBOXONE》《云游戲》《Lucky Night VR》等游戲項目開發(fā)。主要負(fù)責(zé)游戲引擎開發(fā)工作,曾開發(fā)過騰訊內(nèi)部自研May引擎和AGE引擎,修改和移植過Unreal Engine。
致謝
感謝我的妻子對寫作本書的支持。為了寫作本書,我犧牲了很多陪伴家人的時間,沒有他們的理解和支持,我不可能完成本書的寫作。感謝人民郵電出版社的陳冀康編輯,本書是在他的一再推動和鼓勵下完成的。
感謝葉勁峰先生為本書作序,同時感謝沙鷹、王楊軍、王琛、付強(qiáng)等專業(yè)人士對本書的大力推薦。能夠得到他們的肯定和支持,我感到萬分榮幸。
感謝唐強(qiáng)、周秦、Houwb在百忙中幫助校驗本書并修改本書配套代碼,沒有他們的努力,本書是無法順利出版的。感謝熊路遙對13.5.2節(jié)的技術(shù)支持。
感謝本書的所有讀者。選擇了這本書,意味著你對我的支持和信任,也令我如履薄冰。由于水平和能力有限,書中一定存在很多不足之處,還望你在閱讀過程中不吝指出??梢酝ㄟ^79134054@qq.com聯(lián)系我。
- Excel 2010在會計與財務(wù)管理日常工作中的應(yīng)用
- Excel職場辦公:表格范例大全
- Excel高效數(shù)據(jù)處理分析:效率是這樣煉成的!
- Word/Excel 2010辦公應(yīng)用實戰(zhàn)從入門到精通
- Excel效率手冊:早做完,不加班 ( 精華版·函數(shù)篇)(升級版)
- Office辦公高手應(yīng)用技巧
- Word/Excel/ PPT 2010入門與提高
- Power BI企業(yè)級分析與應(yīng)用
- Office 2013中文版從入門到精通
- Office 2003辦公應(yīng)用實戰(zhàn)從入門到精通
- 電腦辦公直通車
- 大話PPT:幻燈片制作真經(jīng)
- Office 2016辦公應(yīng)用從入門到精通
- PPT設(shè)計的藝術(shù):人人都用得上的PPT設(shè)計書
- 中文版Office 2016三合一辦公基礎(chǔ)教程