黨的二十大指出推動(dòng)戰(zhàn)略性新興產(chǎn)業(yè)融合集群發(fā)展,構(gòu)建新一代信息技術(shù)、人工智能、生物技術(shù)、新能源、新材料、高端裝備、綠色環(huán)保等一批新的增長(zhǎng)引擎。虛擬現(xiàn)實(shí)是新一代信息技術(shù)的重要前沿方向,是數(shù)字經(jīng)濟(jì)的重大前瞻領(lǐng)域。虛幻引擎作為虛擬現(xiàn)實(shí)重要的開(kāi)發(fā)技術(shù),在虛擬現(xiàn)實(shí)產(chǎn)業(yè)發(fā)展中起著舉足輕重的作用。
虛幻引擎(Unreal Engine,UE)是由Epic Game公司開(kāi)發(fā)的一款開(kāi)源、商業(yè)收費(fèi)、學(xué)習(xí)免費(fèi)的游戲引擎。虛幻引擎功能強(qiáng)大、上手簡(jiǎn)單、易用性高,尤其側(cè)重于數(shù)據(jù)生成和程序編寫(xiě)。虛幻引擎還為程序員提供了一個(gè)具有先進(jìn)功能、可擴(kuò)展性的應(yīng)用程序框架,用于建立、測(cè)試和發(fā)布各種類(lèi)型的游戲。
基于藍(lán)圖模式,設(shè)計(jì)師只需要程序員很少量的協(xié)助,就能夠在完全可視化環(huán)境中盡可能多地開(kāi)發(fā)游戲的數(shù)據(jù)資源,實(shí)際操作非常便利。這方面的書(shū)籍已經(jīng)出版了很多,本書(shū)主要是從程序員角度進(jìn)行編寫(xiě)。
本書(shū)面向計(jì)算機(jī)、虛擬現(xiàn)實(shí)(Virtual Reality, VR)技術(shù)等學(xué)科,主要介紹代碼編程模式,著重C 編程開(kāi)發(fā)。本書(shū)的第1~4章,主要介紹虛幻引擎入門(mén)和虛幻引擎的C 開(kāi)發(fā);第5~13章,主要介紹虛幻引擎中常用功能。其中,第1~4章會(huì)帶領(lǐng)讀者逐步上手虛幻引擎,
通過(guò)各種小案例,讓讀者能夠做出簡(jiǎn)單可運(yùn)行的項(xiàng)目;在C 開(kāi)發(fā)介紹部分包含C 基礎(chǔ)和C 進(jìn)階,即使是C 基礎(chǔ)不好的讀者也能很容易了解UE C 。在第5~13章中,編者挑選了游戲制作中常用到的功能進(jìn)行介紹,如圖形用戶界面、天空盒、筆刷、霧效、音頻和光影效果等。讀者有了這些基礎(chǔ),結(jié)合手柄組件,就可以進(jìn)行VR方面的程序設(shè)計(jì)和游戲開(kāi)發(fā)。最后,本書(shū)講解了一個(gè)完整的VR游戲案例,以便讀者學(xué)以致用。
此外,本書(shū)主基于UE 5.0進(jìn)行講解,為了避免出現(xiàn)教學(xué)過(guò)程中由于版本不一致導(dǎo)致的錯(cuò)誤,讀者使用UE時(shí)最好能采用與教材相同版本。本書(shū)旨在帶領(lǐng)讀者學(xué)習(xí)并使用虛幻引擎,建議讀者在學(xué)習(xí)過(guò)程中多加練習(xí),跟隨書(shū)中操作使用虛幻引擎,希望讀者在學(xué)習(xí)完本書(shū)之
后能夠較為熟練地使用虛幻引擎開(kāi)發(fā)項(xiàng)目,能夠開(kāi)啟自己的游戲開(kāi)發(fā)之旅,實(shí)現(xiàn)自己進(jìn)入虛擬現(xiàn)實(shí)產(chǎn)業(yè)之理想。
本書(shū)在編寫(xiě)過(guò)程中得到了廈門(mén)雅基的王哲、蘇琳,廈門(mén)觸控未來(lái)的林釔地、白耀輝、汪翠芳以及清華大學(xué)出版社編輯的大力支持和幫助。學(xué)生張錢(qián)成、徐凱、唐巧興等參與了本書(shū)第2章、第3章、第7章以及部分案例的編寫(xiě),特此感謝。
由于編者時(shí)間有限,書(shū)中不足之處在所難免,歡迎廣大讀者批評(píng)、指正,并提出寶貴的建議,在此一并表示感謝。
編者
2023年1月
第1章 Unreal Engine基礎(chǔ)1
1.1 環(huán)境搭建 .1
1.2 項(xiàng)目創(chuàng)建 .4
1.3 編輯器基礎(chǔ) .10
1.4 工具和編輯器 .12
1.5 本章小結(jié) 15
第2章 藍(lán)圖16
2.1 基礎(chǔ)知識(shí):藍(lán)圖 16
2.2 實(shí)戰(zhàn)練習(xí):控制場(chǎng)景中門(mén)的
開(kāi)啟和關(guān)閉 19
2.3 本章小結(jié) 26
第3章 C 基礎(chǔ)27
3.1 基礎(chǔ)知識(shí):現(xiàn)代C 基礎(chǔ) 27
3.2 基礎(chǔ)知識(shí):UE的C 類(lèi)層級(jí)結(jié)構(gòu) 48
3.3 基礎(chǔ)知識(shí):UE中的宏定義 50
3.4 基礎(chǔ)知識(shí):UE中的字符串 58
3.5 本章小結(jié) 59
第4章 C 進(jìn)階60
4.1 基礎(chǔ)知識(shí):UE中的容器 60
4.2 基礎(chǔ)知識(shí):UE中的智能指針庫(kù) 69
4.3 實(shí)戰(zhàn)練習(xí):創(chuàng)建和刪除C 類(lèi) 77
4.4 本章小結(jié) .81
第5章 UE腳本程序基礎(chǔ)知識(shí)82
5.1 Unreal Engine腳本概述 82
5.2 Unreal Engine中C 腳本的注意事項(xiàng) .82
5.3 Unreal Engine腳本的基礎(chǔ)語(yǔ)法 83
5.4 本章小結(jié) 113
第6章 Gameplay框架114
6.1 Gameplay簡(jiǎn)介 114
6.2 基礎(chǔ)類(lèi) .116
6.3 GameInstance和Engine類(lèi) .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ǔ)知識(shí):基本概念 134
7.2 基礎(chǔ)知識(shí):基本控件類(lèi)型參考 134
7.3 UMG與C 交互案例 149
7.4 本章小結(jié) 154
第8章 3D游戲開(kāi)發(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é)點(diǎn) .182
9.4 材質(zhì)輸入 183
9.5 本章小結(jié) 185
第10章 光影效果186
10.1 光源類(lèi)型 .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ò)開(kāi)發(fā)基礎(chǔ)261
12.1 網(wǎng)絡(luò)概述 261
12.2 Unreal Engine網(wǎng)絡(luò)開(kāi)發(fā)案例 262
12.3 本章小結(jié) 269
第13章 ARPG游戲項(xiàng)目實(shí)戰(zhàn)270
13.1 游戲菜單、賬號(hào)注冊(cè)、登錄等頁(yè)面的制作 270
13.2 賬號(hào)注冊(cè)和登錄 275
13.3 角色顯示 .280
13.4 角色動(dòng)畫(huà)制作 284
13.5 動(dòng)畫(huà)事件處理 292
13.6 角色動(dòng)作控制 296
13.7 玩家攻擊邏輯處理 300
13.8 敵人及敵人創(chuàng)建 303
13.9 敵人AI及Boss的AI .308
13.10 本章小結(jié) 315
參考文獻(xiàn)316