本書一共13章,主要介紹了使用虛幻引擎和C 開發(fā)游戲的一些基本功能,與其他主要介紹藍(lán)圖的圖書不同,本書側(cè)重代碼開發(fā)。本書內(nèi)容主要包括創(chuàng)建項目、UE藍(lán)圖、UE類及UE智能指針、C 容器和C 智能指針、UE腳本基礎(chǔ)、Gameplay框架、圖形用戶界面基礎(chǔ)、天空盒、搖桿、光影、地形系統(tǒng)、尋路技術(shù)、網(wǎng)絡(luò)基礎(chǔ)等,最后是一個完整的游戲示例,供讀者實踐學(xué)習(xí)。 本書適合作為高等院校、高等職業(yè)院校虛擬現(xiàn)實、軟件工程、游戲開發(fā)等專業(yè)的教材,也可作為游戲開發(fā)、虛擬現(xiàn)實的愛好者和從業(yè)者的自學(xué)用書。本書封面貼有清華大學(xué)出版社防偽標(biāo)簽,無標(biāo)簽者不得銷售。
本書作者有十余年的教學(xué)和研發(fā)經(jīng)驗,深深感到授人以魚不如授人以漁,因此本書不是工具書,不會事無巨細(xì);本書是VR游戲開發(fā)者和游戲開發(fā)者的助手,C 新知識、UE引擎操控對象,是從業(yè)者的視角而不僅是教學(xué)視角,本書將助力您習(xí)得游戲的設(shè)計和開發(fā)的思路。
黨的二十大指出推動戰(zhàn)略性新興產(chǎn)業(yè)融合集群發(fā)展,構(gòu)建新一代信息技術(shù)、人工智能、生物技術(shù)、新能源、新材料、高端裝備、綠色環(huán)保等一批新的增長引擎。虛擬現(xiàn)實是新一代信息技術(shù)的重要前沿方向,是數(shù)字經(jīng)濟(jì)的重大前瞻領(lǐng)域。虛幻引擎作為虛擬現(xiàn)實重要的開發(fā)技術(shù),在虛擬現(xiàn)實產(chǎn)業(yè)發(fā)展中起著舉足輕重的作用。
虛幻引擎(Unreal Engine,UE)是由Epic Game公司開發(fā)的一款開源、商業(yè)收費(fèi)、學(xué)習(xí)免費(fèi)的游戲引擎。虛幻引擎功能強(qiáng)大、上手簡單、易用性高,尤其側(cè)重于數(shù)據(jù)生成和程序編寫。虛幻引擎還為程序員提供了一個具有先進(jìn)功能、可擴(kuò)展性的應(yīng)用程序框架,用于建立、測試和發(fā)布各種類型的游戲。
基于藍(lán)圖模式,設(shè)計師只需要程序員很少量的協(xié)助,就能夠在完全可視化環(huán)境中盡可能多地開發(fā)游戲的數(shù)據(jù)資源,實際操作非常便利。這方面的書籍已經(jīng)出版了很多,本書主要是從程序員角度進(jìn)行編寫。
本書面向計算機(jī)、虛擬現(xiàn)實(Virtual Reality, VR)技術(shù)等學(xué)科,主要介紹代碼編程模式,著重C 編程開發(fā)。本書的第1~4章,主要介紹虛幻引擎入門和虛幻引擎的C 開發(fā);第5~13章,主要介紹虛幻引擎中常用功能。其中,第1~4章會帶領(lǐng)讀者逐步上手虛幻引擎,
通過各種小案例,讓讀者能夠做出簡單可運(yùn)行的項目;在C 開發(fā)介紹部分包含C 基礎(chǔ)和C 進(jìn)階,即使是C 基礎(chǔ)不好的讀者也能很容易了解UE C 。在第5~13章中,編者挑選了游戲制作中常用到的功能進(jìn)行介紹,如圖形用戶界面、天空盒、筆刷、霧效、音頻和光影效果等。讀者有了這些基礎(chǔ),結(jié)合手柄組件,就可以進(jìn)行VR方面的程序設(shè)計和游戲開發(fā)。最后,本書講解了一個完整的VR游戲案例,以便讀者學(xué)以致用。
此外,本書主基于UE 5.0進(jìn)行講解,為了避免出現(xiàn)教學(xué)過程中由于版本不一致導(dǎo)致的錯誤,讀者使用UE時最好能采用與教材相同版本。本書旨在帶領(lǐng)讀者學(xué)習(xí)并使用虛幻引擎,建議讀者在學(xué)習(xí)過程中多加練習(xí),跟隨書中操作使用虛幻引擎,希望讀者在學(xué)習(xí)完本書之
后能夠較為熟練地使用虛幻引擎開發(fā)項目,能夠開啟自己的游戲開發(fā)之旅,實現(xiàn)自己進(jìn)入虛擬現(xiàn)實產(chǎn)業(yè)之理想。
本書在編寫過程中得到了廈門雅基的王哲、蘇琳,廈門觸控未來的林釔地、白耀輝、汪翠芳以及清華大學(xué)出版社編輯的大力支持和幫助。學(xué)生張錢成、徐凱、唐巧興等參與了本書第2章、第3章、第7章以及部分案例的編寫,特此感謝。
由于編者時間有限,書中不足之處在所難免,歡迎廣大讀者批評、指正,并提出寶貴的建議,在此一并表示感謝。
編者
2023年1月
李華旸,博士,副教授,畢業(yè)于華中科技大學(xué)計算機(jī)與理論專業(yè),江西財經(jīng)大學(xué)VR產(chǎn)業(yè)學(xué)院副院長,軟件工程游戲方向負(fù)責(zé)人,曾發(fā)表學(xué)術(shù)論文十余篇,主持省級項目和橫向課題多項,有較好理論基礎(chǔ)和實踐能力,熟悉C 、C#、python、javascript等。
第1章 Unreal Engine基礎(chǔ)1
1.1 環(huán)境搭建 .1
1.2 項目創(chuàng)建 .4
1.3 編輯器基礎(chǔ) .10
1.4 工具和編輯器 .12
1.5 本章小結(jié) 15
第2章 藍(lán)圖16
2.1 基礎(chǔ)知識:藍(lán)圖 16
2.2 實戰(zhàn)練習(xí):控制場景中門的
開啟和關(guān)閉 19
2.3 本章小結(jié) 26
第3章 C 基礎(chǔ)27
3.1 基礎(chǔ)知識:現(xiàn)代C 基礎(chǔ) 27
3.2 基礎(chǔ)知識:UE的C 類層級結(jié)構(gòu) 48
3.3 基礎(chǔ)知識:UE中的宏定義 50
3.4 基礎(chǔ)知識:UE中的字符串 58
3.5 本章小結(jié) 59
第4章 C 進(jìn)階60
4.1 基礎(chǔ)知識:UE中的容器 60
4.2 基礎(chǔ)知識:UE中的智能指針庫 69
4.3 實戰(zhàn)練習(xí):創(chuàng)建和刪除C 類 77
4.4 本章小結(jié) .81
第5章 UE腳本程序基礎(chǔ)知識82
5.1 Unreal Engine腳本概述 82
5.2 Unreal Engine中C 腳本的注意事項 .82
5.3 Unreal Engine腳本的基礎(chǔ)語法 83
5.4 本章小結(jié) 113
第6章 Gameplay框架114
6.1 Gameplay簡介 114
6.2 基礎(chǔ)類 .116
6.3 GameInstance和Engine類 .119
6.4 Pawn和Character 120
6.5 Controller 121
6.6 GameMode和GameState 126
6.7 GameInstance .128
6.8 Gameplay框架總結(jié) .130
6.9 本章小結(jié) 133
第7章 圖形用戶界面基礎(chǔ)134
7.1 基礎(chǔ)知識:基本概念 134
7.2 基礎(chǔ)知識:基本控件類型參考 134
7.3 UMG與C 交互案例 149
7.4 本章小結(jié) 154
第8章 3D游戲開發(fā)常用技術(shù)155
8.1 天空盒及其應(yīng)用 .155
8.2 幾何體筆刷Actor 159
8.3 霧效 .165
8.4 虛擬搖桿 170
8.5 音頻文件 172
8.6 UE中的Sound Cue 172
8.7 C 播放音頻 .175
8.8 本章小結(jié) 176
第9章 材質(zhì)編輯器177
9.1 材質(zhì)基礎(chǔ) 177
9.2 材質(zhì)表達(dá)式 181
9.3 常用材質(zhì)運(yùn)算節(jié)點 .182
9.4 材質(zhì)輸入 183
9.5 本章小結(jié) 185
第10章 光影效果186
10.1 光源類型 .186
10.2 光照貼圖UV196
10.3 反射環(huán)境 .200
10.4 環(huán)境法線貼圖 216
10.5 本章小結(jié) .218
第11章 地形與尋路技術(shù)219
11.1 地形的創(chuàng)建 219
11.2 托痕渲染器Trail Renderer 231
11.3 尋路系統(tǒng) .246
11.4 本章小結(jié) .260
第12章 網(wǎng)絡(luò)開發(fā)基礎(chǔ)261
12.1 網(wǎng)絡(luò)概述 261
12.2 Unreal Engine網(wǎng)絡(luò)開發(fā)案例 262
12.3 本章小結(jié) 269
第13章 ARPG游戲項目實戰(zhàn)270
13.1 游戲菜單、賬號注冊、登錄等頁面的制作 270
13.2 賬號注冊和登錄 275
13.3 角色顯示 .280
13.4 角色動畫制作 284
13.5 動畫事件處理 292
13.6 角色動作控制 296
13.7 玩家攻擊邏輯處理 300
13.8 敵人及敵人創(chuàng)建 303
13.9 敵人AI及Boss的AI .308
13.10 本章小結(jié) 315
參考文獻(xiàn)316