Unity 3D 游戲開發(fā)與實戰(zhàn)
定 價:98 元
- 作者:張云飛(Joker)
- 出版時間:2025/9/1
- ISBN:9787121507571
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.5
- 頁碼:228
- 紙張:
- 版次:01
- 開本:16開
Unity作為當(dāng)前主流的游戲引擎,憑借其強大的技術(shù)實力,已從傳統(tǒng)的游戲開發(fā)擴(kuò)展至汽車、制造、影視動畫、建筑等多個行業(yè)。 本書不僅包含Unity的基礎(chǔ)操作和編程知識,還融入了一些筆者認(rèn)為游戲開發(fā)者必須掌握的核心開發(fā)思想和解決方案。通過這些內(nèi)容的學(xué)習(xí),讀者將能夠運用所學(xué)知識完成《坦克大戰(zhàn)》這一完整案例,從而在實踐中鞏固技能并提升開發(fā)能力。總的來說,本書旨在為初學(xué)者提供一條清晰的學(xué)習(xí)路徑,通過理論與實踐相結(jié)合的方式,幫助讀者快速入門Unity開發(fā),并具備完成實際項目的能力。
本書由張云飛(Joker)編寫,作者擁有8年游戲開發(fā)經(jīng)驗,是Unity中文課堂優(yōu)秀講師、獨立游戲開發(fā)者 以及JKFrame的創(chuàng)建者。
第 1 章 Unity 編輯器
1.1 軟件安裝—————————————————— 001
1.1.1 安裝 Unity Hub— —————————————— 001
1.1.2 安裝 Unity Editor— ————————————— 003
1.1.3 安裝 Visual Studio—————————————— 005
1.2 Unity Hub 項目管理———————————— 006
1.2.1 創(chuàng)建工程— ————————————————— 006
1.2.2 刪除項目— ————————————————— 008
1.3 Unity Editor 界面— ———————————— 008
1.3.1 窗口管理— ————————————————— 008
1.3.2 Project 窗口— ——————————————— 011
1.3.3 Hierarchy 窗口— —————————————— 013
1.3.4 Inspector 窗口— —————————————— 015
1.3.5 Scene 窗口————————————————— 016
1.3.6 Game 窗口————————————————— 019
第 2 章? Unity 的運行框架
2.1 游戲場景—————————————————— 021
2.1.1 新建場景文件— ——————————————— 021
2.1.2 場景文件操作— ——————————————— 023
2.2 游戲?qū)ο蟆?023
2.3 游戲預(yù)制體———————————————— 024
2.4 游戲組件概念— —————————————— 028
2.5 自定義組件———————————————— 030
2.6 游戲循環(huán)邏輯— —————————————— 033
2.7 Inspector 窗口組件序列化— ——————— 036
2.8 組件的運行時控制————————————— 039
2.9 游戲?qū)ο蟮倪\行時控制— ————————— 041
2.10 Transform 組件— ———————————— 043
第 3 章? Unity 的渲染系統(tǒng)
3.1 渲染管線—————————————————— 047
3.2 著色器與材質(zhì)— —————————————— 048
3.2.1 著色器— —————————————————— 048
3.2.2 材質(zhì)— ——————————————————— 048
3.2.3 實踐— ——————————————————— 048
3.3 Mesh 與相關(guān)組件— ———————————— 051
3.3.1 Mesh— —————————————————— 051
3.3.2 Mesh Filter 組件——————————————— 052
3.3.3 Mesh Renderer 組件— ——————————— 052
3.4 天空盒——————————————————— 053
3.5 光源— ——————————————————— 056
3.5.1 Directional Light— ————————————— 056
3.5.2 Point Light— ———————————————— 058
3.5.3 Spot Light— ———————————————— 059
3.5.4 燈光烘焙— ————————————————— 059
3.5.5 Area Light— ———————————————— 061
3.5.6 Sun Source— ——————————————— 061
第 4 章? 輸入系統(tǒng)與常用工具類
4.1 Input(輸入系統(tǒng))— ——————————— 062
4.2 常用工具類— ——————————————— 065
4.2.1 Mathf(數(shù)學(xué)工具類)— ——————————— 065
4.2.2 Random(隨機數(shù)工具類)— ————————— 065
4.2.3 Application(應(yīng)用
程序工具類)— ——————————————— 065
4.2.4 Vector3(向量工具函數(shù))— ————————— 065
第 5 章? Unity 的物理系統(tǒng)
5.1 碰撞體組件— ——————————————— 066
5.2 剛體組件—————————————————— 067
5.3 碰撞與觸發(fā)事件— ————————————— 070
5.4 射線檢測和物理檢測———————————— 072
5.5 物理層控制— ——————————————— 074
5.6 物理材質(zhì)—————————————————— 078
5.7 剛體移動—————————————————— 080
第 6 章? Unity 的動畫系統(tǒng)
6.1 Animation Clip— ————————————— 084
6.2 動畫系統(tǒng)的主要組成———————————— 088
6.3 Animator Controller— —————————— 091
6.3.1 動畫狀態(tài)— ————————————————— 091
6.3.2 動畫過渡— ————————————————— 092
6.3.3 動畫參數(shù)— ————————————————— 095
6.3.4 使用腳本文件控制動畫— ——————————— 098
6.4 人形動畫—————————————————— 098
6.5 案例:史萊姆動畫————————————— 102
6.5.1 史萊姆的制作— ——————————————— 103
6.5.2 制作待機動畫— ——————————————— 105
6.5.3 制作跳躍動畫— ——————————————— 107
6.5.4 使用代碼控制角色的動畫播放— ———————— 109
第 7 章? Unity 的導(dǎo)航系統(tǒng)
7.1 安裝導(dǎo)航系統(tǒng)— —————————————— 112
7.2 導(dǎo)航烘焙—————————————————— 113
7.3 導(dǎo)航代理組件— —————————————— 119
7.4 導(dǎo)航障礙組件— —————————————— 121
第 8 章? Unity 的場景系統(tǒng)
8.1 場景構(gòu)建設(shè)置— —————————————— 122
8.2 場景切換—————————————————— 123
8.3 游戲構(gòu)建—————————————————— 123
第 9 章? Unity 的音頻系統(tǒng)
9.1 音頻文件—————————————————— 126
9.2 Audio Source 組件— ——————————— 127
9.3 音頻系統(tǒng)主要的 API———————————— 130
第 10 章? Unity 的資源管理系統(tǒng)
10.1 .meta 文件———————————————— 134
10.2 ScriptableObject— ——————————— 135
10.3 基于引用的資源管理方式————————— 136
10.4 Resources— —————————————— 137
第 11 章? Unity 的 UI 系統(tǒng)
11.1 Text 組件— ——————————————— 147
11.2 Image 組件— —————————————— 150
11.3 Button 組件— —————————————— 154
11.4 Canvas 相關(guān)組件— ——————————— 156
11.5 UI 布局—————————————————— 157
11.6 UI 事件—————————————————— 161
第 12 章? Bug 的定位和調(diào)試
12.1 Bug 的定位———————————————— 163
12.2 Bug 的調(diào)試———————————————— 164
第 13 章? 游戲功能的擴(kuò)展性
13.1 關(guān)于擴(kuò)展性———————————————— 167
13.1.1 士兵例子————————————————— 167
13.1.2 皮膚例子————————————————— 167
13.2 案例:制作背包系統(tǒng)— —————————— 168
13.2.1 需求拆解————————————————— 169
13.2.2 制作背包窗口———————————————— 169
13.2.3 物品動態(tài)數(shù)據(jù)與靜態(tài)配置—————————— 171
13.2.4 物品格子邏輯層—————————————— 173
13.2.5 背包邏輯————————————————— 178
第 14 章? 有限狀態(tài)機
14.1 布爾類型和枚舉類型——————————— 179
14.2 使用有限狀態(tài)機組織邏輯————————— 180
第 15 章 對象池
15.1 關(guān)于對象池———————————————— 183
15.2 案例:子彈對象池— ——————————— 183
第 16 章 事件系統(tǒng)
16.1 系統(tǒng)之間的通信— ———————————— 186
16.2 案例:制作事件系統(tǒng)— —————————— 186
第 17 章 游戲存檔
17.1 關(guān)于存檔————————————————— 189
17.2 案例:跳舞派對存檔— —————————— 190
17.2.1 搭建基礎(chǔ)場景——————————————— 190
17.2.2 設(shè)置角色—————————————————— 191
17.2.3 存檔數(shù)據(jù)————————————————— 192
17.2.4 核心邏輯————————————————— 193
第 18 章 綜合案例:《坦克大戰(zhàn)》項目實戰(zhàn)
18.1 案例說明————————————————— 195
18.1.1 資源說明— ———————————————— 195
18.1.2 需求說明— ———————————————— 196
18.2 基礎(chǔ)工具— ———————————————— 197
18.2.1 狀態(tài)機— ————————————————— 197
18.2.2 對象池—————————————————— 198
18.2.3 事件系統(tǒng)— ———————————————— 200
18.3 游戲數(shù)據(jù)與事件— ———————————— 201
18.3.1 游戲數(shù)據(jù)— ———————————————— 201
18.3.2 事件— —————————————————— 201
18.4 StartScene 場景的邏輯————————— 202
18.5 GameScene 場景的 UI 邏輯— ————— 203
18.6 音效播放————————————————— 204
18.7 子彈邏輯————————————————— 205
18.8 武器邏輯————————————————— 207
18.9 坦克邏輯————————————————— 209
18.10 玩家邏輯— ——————————————— 211
18.11 敵方坦克邏輯 —————————— 213