Unity游戲開發(fā)入門經(jīng)典(第4版)
定 價:89.8 元
- 作者:[美]邁克·吉格(Mike Geig)
- 出版時間:2024/1/1
- ISBN:9787115602442
- 出 版 社:人民郵電出版社
- 中圖法分類:TP317.6
- 頁碼:312
- 紙張:
- 版次:02
- 開本:16開
Unity 游戲引擎是由 Unity Technologies 公司開發(fā)的一個讓玩家能夠輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實時三維動畫等內(nèi)容的跨平臺綜合游戲開發(fā)工具。很多熱門游戲都是應(yīng)用該引擎開發(fā)的,例如《深海迷航》《坎巴拉太空計劃》等。
本書以直截了當、循序漸進的方式講解Unity 游戲開發(fā)從基礎(chǔ)到高級的所有內(nèi)容,包括游戲物理引擎、動畫和移動設(shè)備部署技術(shù)。本書分為24 章,內(nèi)容包括 Unity 游戲引擎和編輯器的介紹,游戲?qū)ο、模型、材質(zhì)、紋理、地形、環(huán)境、燈光和攝像機的介紹及應(yīng)用,任務(wù)腳本的編寫,真實的物理效果和碰撞的應(yīng)用,預(yù)制件、2D 游戲工具、瓦片地圖、用戶界面、粒子系統(tǒng)、動畫、動畫器、時間軸、復(fù)雜音頻的集成、移動設(shè)備加速計和多點觸摸屏幕的使用,以及4 個游戲案例。
本書附贈源代碼,適合對使用Unity 進行游戲開發(fā)感興趣的零基礎(chǔ)讀者學(xué)習(xí)。有過其他游戲平臺開發(fā)經(jīng)驗,打算向Unity 平臺拓展的讀者也可以通過本書快速上手。
1.針對初學(xué)者精心設(shè)計,每章內(nèi)容1小時輕松閱讀,24小時輕松掌握關(guān)鍵知識。
2.本書是第4版中譯本,針對2020.3版本Unity完整更新。
3. 手把手教你完整開發(fā)4款游戲。
(1)Amazing Racer 游戲:與時間賽跑的3D 競走游戲。
(2)Chaos Ball 游戲:涉及大量的碰撞和物理動力學(xué)。
(3)Captain Blaster 游戲:復(fù)古風格的2D 太空射擊游戲,使用了滾動背景和2D效果。
(4)Gauntlet Runner 游戲:3D 跑酷游戲,包括收集充電裝置和避開障礙物。
4. 通過本書將學(xué)會如下內(nèi)容:
(1)快速上手Unity 游戲引擎和編輯器。
(2)高效使用Unity的圖形資源。
(3)充分利用燈光和攝像機。
(4)用Unity的地形和環(huán)境工具塑造出令人驚嘆的游戲世界。
(5)編寫任務(wù)腳本,從捕獲輸入到構(gòu)建復(fù)雜行為。
(6)使用預(yù)制件快速創(chuàng)建可重復(fù)使用的游戲?qū)ο蟆?(7)實現(xiàn)簡單直觀的游戲用戶界面。
(8)通過內(nèi)置和自定義角色控制器控制游戲角色。
(9)實現(xiàn)真實的物理效果并使用碰撞器。
(10)充分利用Unity動畫和時間軸系統(tǒng)的強大功能。
(11)將復(fù)雜音頻集成到游戲中。
(12)使用移動設(shè)備加速計和多點觸摸屏幕。
(13)使用Unity的2D瓦片地圖構(gòu)建引人入勝的2D游戲。
(14)做好“收尾”工作并部署游戲。
【作者】邁克·吉格(Mike Geig)在Unity Technologies 的制作團隊就職,他通過制作并傳播具有強大影響力的學(xué)習(xí)資源,使得游戲開發(fā)技術(shù)更加普及。同時,邁克也是一位經(jīng)驗豐富的獨立游戲開發(fā)者,一位大學(xué)老師,一位作家。作為一位資深游戲人,他對該領(lǐng)域的熱愛使他致力于將這項互動藝術(shù)的開發(fā)過程變得更加有趣,讓各行各業(yè)的人都能加入進來。
【譯者】唐譽玲,畢業(yè)于英國愛丁堡大學(xué)的藝術(shù)學(xué)院,是一位交互媒體藝術(shù)從業(yè)者,具有豐富的游戲引擎使用經(jīng)驗,擅長建立人與機器、人與虛擬空間的交流,并樂于探索游戲化思維及虛擬空間的多場景應(yīng)用。
第 1章 Unity簡介 1
1.1 安裝Unity 1
1.1.1 下載并安裝Unity Hub 2
1.1.2 安裝Unity編輯器 2
1.2 熟悉Unity編輯器 4
1.2.1 項目部分 4
1.2.2 Unity界面 5
1.2.3 項目視圖 6
1.2.4 層級視圖 9
1.2.5 檢查器視圖 9
1.2.6 場景視圖 11
1.2.7 游戲視圖 12
1.2.8 值得一提:工具欄 13
1.3 在場景視圖中移動 13
1.3.1 手形工具 14
1.3.2 飛越模式 14
1.4 總結(jié) 16
1.5 問答 16
1.6 測試 16
1.6.1 試題 16
1.6.2 答案 16
1.7 練習(xí) 16
第 2章 游戲?qū)ο?18
2.1 維度和坐標系統(tǒng) 18
2.1.1 走進3D 18
2.1.2 使用坐標系統(tǒng) 19
2.1.3 世界坐標和局部坐標 20
2.2 游戲?qū)ο?21
2.3 變換 22
2.3.1 移動 23
2.3.2 旋轉(zhuǎn) 24
2.3.3 縮放 24
2.3.4 變換的風險 25
2.3.5 工具句柄位置 26
2.3.6 變換或嵌套對象 27
2.4 總結(jié) 27
2.5 問答 27
2.6 測試 28
2.6.1 試題 28
2.6.2 答案 28
2.7 練習(xí) 28
第3章 模型、材質(zhì)和紋理 29
3.1 模型的基礎(chǔ)知識 29
3.1.1 內(nèi)置的3D對象 30
3.1.2 導(dǎo)入模型 30
3.1.3 模型和資源商店 32
3.2 紋理、著色器和材質(zhì) 33
3.2.1 紋理 34
3.2.2 著色器 35
3.2.3 材質(zhì) 35
3.2.4 再論著色器 35
3.3 總結(jié) 38
3.4 問答 38
3.5 測試 38
3.5.1 試題 38
3.5.2 答案 38
3.6 練習(xí) 38
第4章 地形和環(huán)境 40
4.1 地形生成 40
4.1.1 為項目添加地形 40
4.1.2 高度圖的繪制 42
4.1.3 Unity繪制地形工具 44
4.2 地形紋理 46
4.2.1 導(dǎo)入地形資源 46
4.2.2 紋理化地形 47
4.3 生成樹和草 49
4.3.1 繪制樹 49
4.3.2 繪制草 50
4.3.3 地形設(shè)置 51
4.4 角色控制器 53
4.5 總結(jié) 54
4.6 問答 54
4.7 測試 55
4.7.1 試題 55
4.7.2 答案 55
4.8 練習(xí) 55
第5章 燈光和攝像機 56
5.1 燈光 56
5.1.1 烘焙與實時 56
5.1.2 點光源 57
5.1.3 聚光燈 58
5.1.4 定向光 59
5.1.5 利用對象創(chuàng)建燈光 60
5.1.6 光暈 60
5.1.7 剪影 61
5.2 攝像機 62
5.2.1 剖析攝像機 63
5.2.2 多個攝像機 64
5.2.3 拆分屏幕和畫中畫 64
5.3 圖層 66
5.3.1 處理圖層 66
5.3.2 使用圖層 67
5.4 總結(jié) 69
5.5 問答 69
5.6 測試 69
5.6.1 試題 69
5.6.2 答案 70
5.7 練習(xí) 70
第6章 游戲案例1:Amazing Racer 71
6.1 設(shè)計 71
6.1.1 概念 71
6.1.2 規(guī)則 71
6.1.3 需求 72
6.2 創(chuàng)建游戲世界 73
6.2.1 繪制游戲世界 73
6.2.2 添加環(huán)境 74
6.2.3 霧 74
6.2.4 天空盒 75
6.2.5 角色控制器 76
6.3 游戲化 76
6.3.1 添加游戲控制器對象 77
6.3.2 添加腳本 79
6.3.3 連接腳本 80
6.4 游戲測試 81
6.5 總結(jié) 82
6.6 問答 82
6.7 測試 82
6.7.1 試題 82
6.7.2 答案 82
6.8 練習(xí) 83
第7章 腳本(第 一部分) 84
7.1 腳本 84
7.1.1 創(chuàng)建腳本 85
7.1.2 附加腳本 87
7.1.3 一個基本腳本的詳細分析 88
7.1.4 using部分 88
7.1.5 類聲明部分 89
7.1.6 類的內(nèi)容 89
7.2 變量 90
7.2.1 創(chuàng)建變量 90
7.2.2 變量可用域 91
7.2.3 公有和私有 91
7.3 運算符 92
7.3.1 算術(shù)運算符 92
7.3.2 賦值運算符 93
7.3.3 等式運算符 93
7.3.4 邏輯運算符 94
7.4 條件語句 95
7.4.1 if語句 95
7.4.2 if/else語句 96
7.4.3 if/else if語句 96
7.5 循環(huán)語句 97
7.5.1 while循環(huán)語句 98
7.5.2 for循環(huán)語句 98
7.6 總結(jié) 99
7.7 問答 99
7.8 測試 99
7.8.1 試題 99
7.8.2 答案 100
7.9 練習(xí) 100
第8章 腳本(第二部分) 101
8.1 方法 101
8.1.1 方法的具體分析 102
8.1.2 編寫方法 104
8.1.3 使用方法 105
8.2 輸入 106
8.2.1 輸入的基礎(chǔ)知識 106
8.2.2 編寫輸入腳本 107
8.2.3 特定的鍵輸入 108
8.2.4 鼠標輸入 109
8.3 訪問局部組件 110
8.3.1 使用GetComponent 111
8.3.2 獲取變換 111
8.4 訪問其他對象 112
8.4.1 查找其他對象 112
8.4.2 修改對象組件 114
8.5 總結(jié) 115
8.6 問答 115
8.7 測試 115
8.7.1 試題 116
8.7.2 答案 116
8.8 練習(xí) 116
第9章 碰撞 117
9.1 剛體 117
9.2 碰撞器和物理材質(zhì) 118
9.2.1 碰撞器 118
9.2.2 物理材質(zhì) 120
9.3 觸發(fā)器 121
9.4 光線投射 123
9.5 總結(jié) 124
9.6 問答 124
9.7 測試 125
9.7.1 試題 125
9.7.2 答案 125
9.8 練習(xí) 125
第 10章 游戲案例2:Chaos Ball 126
10.1 設(shè)計 126
10.1.1 概念 126
10.1.2 規(guī)則 126
10.1.3 需求 127
10.2 舞臺 127
10.2.1 創(chuàng)建舞臺 127
10.2.2 紋理化 128
10.2.3 創(chuàng)建超級彈性材質(zhì) 129
10.2.4 完成舞臺 129
10.3 游戲?qū)嶓w 130
10.3.1 游戲角色 130
10.3.2 混沌球 130
10.3.3 彩色球 132
10.4 控制對象 132
10.4.1 球門 133
10.4.2 游戲控制器 134
10.5 優(yōu)化游戲 135
10.6 總結(jié) 136
10.7 問答 136
10.8 測試 136
10.8.1 試題 136
10.8.2 答案 136
10.9 練習(xí) 137
第 11章 預(yù)制件 138
11.1 預(yù)制件的基礎(chǔ)知識 138
11.1.1 預(yù)制件的術(shù)語 138
11.1.2 預(yù)制件結(jié)構(gòu) 139
11.2 使用預(yù)制件 140
11.2.1 新建預(yù)制件 140
11.2.2 向場景中添加一個預(yù)制件實例 142
11.2.3 修改已有預(yù)制件 143
11.2.4 使用代碼實例化預(yù)制件 145
11.3 總結(jié) 145
11.4 問答 145
11.5 測試 146
11.5.1 試題 146
11.5.2 答案 146
11.6 練習(xí) 146
第 12章 2D游戲工具 148
12.1 2D游戲的基礎(chǔ)知識 148
12.2 正交攝像機 150
12.3 添加精靈 151
12.3.1 導(dǎo)入精靈 151
12.3.2 Sprite模式 152
12.3.3 導(dǎo)入精靈大小 153
12.4 繪制順序 154
12.4.1 排序圖層 154
12.4.2 圖層順序 155
12.5 2D物理 156
12.5.1 2D剛體 156
12.5.2 2D碰撞器 156
12.6 總結(jié) 158
12.7 問答 158
12.8 測試 158
12.8.1 試題 158
12.8.2 答案 158
12.9 練習(xí) 158
第 13章 2D瓦片地圖 160
13.1 瓦片地圖的基礎(chǔ)知識 160
13.1.1 創(chuàng)建一個瓦片地圖 160
13.1.2 網(wǎng)格 162
13.2 調(diào)色板 162
13.3 瓦片的相關(guān)操作 164
13.3.1 配置精靈 165
13.3.2 創(chuàng)建瓦片 165
13.3.3 繪制瓦片 166
13.3.4 自定義調(diào)色板 169
13.4 瓦片地圖和物理屬性 169
13.4.1 瓦片地圖碰撞器 169
13.4.2 使用Composite Collider 2D組件 171
13.5 總結(jié) 172
13.6 問答 172
13.7 測試 172
13.7.1 試題 172
13.7.2 答案 172
13.8 練習(xí) 172
第 14章 用戶界面 174
14.1 UI的基本原則 174
14.2 畫布 174
14.2.1 矩形變換 175
14.2.2 錨點 176
14.2.3 其他Canvas組件 178
14.3 UI元素 179
14.3.1 圖像 179
14.3.2 文本 181
14.3.3 按鈕 181
14.4 畫布渲染模式 184
14.4.1 屏幕空間-覆蓋 184
14.4.2 屏幕空間-攝像機 185
14.4.3 世界空間 185
14.5 總結(jié) 186
14.6 問答 186
14.7 測試 186
14.7.1 試題 186
14.7.2 答案 187
14.8 練習(xí) 187
第 15章 游戲案例3:Captain Blaster 189
15.1 設(shè)計 189
15.1.1 概念 189
15.1.2 規(guī)則 189
15.1.3 需求 190
15.2 畫布 190
15.2.1 攝像機 190
15.2.2 背景 190
15.2.3 游戲?qū)嶓w 191
15.2.4 游戲角色 192
15.2.5 流星 193
15.2.6 子彈 194
15.2.7 觸發(fā)器 195
15.2.8 用戶界面 195
15.3 控制 196
15.3.1 游戲控制器 196
15.3.2 流星的腳本 198
15.3.3 流星生成器 198
15.3.4 DestroyOnTrigger腳本 199
15.3.5 ShipControl腳本 200
15.3.6 Bullet腳本 201
15.4 優(yōu)化 203
15.5 總結(jié) 203
15.6 問答 203
15.7 測試 203
15.7.1 試題 204
15.7.2 答案 204
15.8 練習(xí) 204
第 16章 粒子系統(tǒng) 205
16.1 粒子系統(tǒng)的基礎(chǔ)知識 205
16.1.1 粒子 205
16.1.2 Unity粒子系統(tǒng) 205
16.1.3 粒子系統(tǒng)的控制 206
16.2 粒子系統(tǒng)模塊 207
16.2.1 默認模塊 208
16.2.2 發(fā)射模塊 209
16.2.3 形狀模塊 209
16.2.4 生命周期內(nèi)速度模塊 210
16.2.5 生命周期內(nèi)速度限制模塊 210
16.2.6 繼承速度模塊 210
16.2.7 基于發(fā)射器速度的生命周期模塊 210
16.2.8 生命周期內(nèi)受力模塊 211
16.2.9 生命周期內(nèi)顏色模塊 211
16.2.10 速度顏色模塊 212
16.2.11 生命周期內(nèi)大小模塊 212
16.2.12 速度決定大小模塊 212
16.2.13 生命周期內(nèi)旋轉(zhuǎn)模塊 212
16.2.14 按速度旋轉(zhuǎn)模塊 212
16.2.15 外力模塊 212
16.2.16 噪音模塊 212
16.2.17 碰撞模塊 213
16.2.18 觸發(fā)器模塊 215
16.2.19 子發(fā)射器模塊 215
16.2.20 紋理表格動畫模塊 215
16.2.21 光線模塊 216
16.2.22 拖尾模塊 216
16.2.23 自定義數(shù)據(jù)模塊 216
16.2.24 渲染器模塊 216
16.3 曲線編輯器 217
16.4 總結(jié) 218
16.5 問答 218
16.6 測試 219
16.6.1 試題 219
16.6.2 答案 219
16.7 練習(xí) 219
第 17章 動畫 220
17.1 動畫的基礎(chǔ)知識 220
17.1.1 綁定 220
17.1.2 動畫 221
17.2 2D動畫與創(chuàng)建動畫 221
17.2.1 2D動畫 221
17.2.2 創(chuàng)建動畫 222
17.3 動畫工具 223
17.3.1 動畫視圖 224
17.3.2 創(chuàng)建一個新的動畫 225
17.3.3 記錄模式 227
17.3.4 曲線編輯器 228
17.4 總結(jié) 229
17.5 問答 230
17.6 測試 230
17.6.1 試題 230
17.6.2 答案 230
17.7 練習(xí) 230
第 18章 動畫器 231
18.1 動畫器的基礎(chǔ)知識 231
18.1.1 綁定 232
18.1.2 導(dǎo)入模型 233
18.2 配置你的資源 233
18.2.1 綁定的準備工作 234
18.2.2 動畫的準備工作 235
18.3 創(chuàng)建動畫器 239
18.3.1 動畫器視圖 240
18.3.2 Idle動畫 241
18.3.3 參數(shù) 242
18.3.4 狀態(tài)和混合樹 243
18.3.5 過渡 244
18.4 腳本控制動畫器 245
18.5 總結(jié) 246
18.6 問答 246
18.7 測試 247
18.7.1 試題 247
18.7.2 答案 247
18.8 練習(xí) 247
第 19章 時間軸 248
19.1 時間軸的基礎(chǔ)知識 248
19.1.1 解析時間軸視圖 248
19.1.2 創(chuàng)建一個時間軸 249
19.2 使用時間軸 250
19.2.1 時間軸視圖 251
19.2.2 時間軸軌道 251
19.2.3 時間軸片段 253
19.3 不只是簡單的控制 254
19.3.1 在軌道上混合片段 255
19.3.2 時間軸的腳本 256
19.4 總結(jié) 258
19.5 問答 258
19.6 測試 258
19.6.1 試題 258
19.6.2 答案 258
19.7 練習(xí) 258
第 20章 游戲案例4:Gauntlet Runner 259
20.1 設(shè)計 259
20.1.1 概念 259
20.1.2 規(guī)則 259
20.1.3 需求 260
20.2 游戲世界 260
20.2.1 場景 260
20.2.2 賽道 261
20.2.3 讓地面滾動起來 262
20.3 實體 263
20.3.1 充電裝置 263
20.3.2 障礙物 264
20.3.3 觸發(fā)區(qū) 264
20.3.4 游戲角色 265
20.4 控制 266
20.4.1 TriggerZone腳本 266
20.4.2 GameManager腳本 267
20.4.3 Player腳本 269
20.4.4 Collidable腳本 270
20.4.5 Spawner腳本 271
20.4.6 把游戲的各個部分結(jié)合起來 272
20.5 優(yōu)化 273
20.6 總結(jié) 273
20.7 問答 273
20.8 測試 274
20.8.1 試題 274
20.8.2 答案 274
20.9 練習(xí) 274
第 21章 音頻 275
21.1 音頻的基礎(chǔ)知識 275
21.1.1 音頻的組成部分 275
21.1.2 2D和3D音頻 276
21.2 音頻源 276
21.2.1 導(dǎo)入音頻片段 277
21.2.2 在場景視圖中測試音頻 278
21.2.3 3D音頻 279
21.2.4 2D音頻 280
21.3 編寫音頻的腳本 280
21.3.1 啟動和停止音頻 280
21.3.2 更換音頻片段 282
21.4 音頻混合器 282
21.4.1 創(chuàng)建音頻混合器 283
21.4.2 將音頻發(fā)送給混合器 283
21.5 總結(jié) 284
21.6 問答 284
21.7 測試 284
21.7.1 試題 284
21.7.2 答案 285
21.8 練習(xí) 285
第 22章 移動開發(fā) 287
22.1 移動開發(fā)的準備 287
22.1.1 設(shè)置環(huán)境 288
22.1.2 Unity Remote 289
22.2 加速計 290
22.2.1 為加速計設(shè)計游戲 291
22.2.2 使用加速計 291
22.2.3 多點觸摸輸入 292
22.3 總結(jié) 294
22.4 問答 295
22.5 測試 295
22.5.1 試題 295
22.5.2 答案 295
22.6 練習(xí) 295
第 23章 潤色和部署 297
23.1 管理場景 297
23.1.1 建立場景順序 298
23.1.2 切換場景 299
23.2 保存數(shù)據(jù)和對象 299
23.2.1 保存對象 299
23.2.2 保存數(shù)據(jù) 301
23.3 Unity玩家設(shè)置 303
23.3.1 跨平臺的設(shè)置 303
23.3.2 每個平臺的設(shè)置 304
23.4 生成游戲 305
23.5 總結(jié) 306
23.6 問答 306
23.7 測試 306
23.7.1 試題 306
23.7.2 答案 306
23.8 練習(xí) 307
第 24章 結(jié)束語 308
24.1 成功 308
24.1.1 23章的學(xué)習(xí) 308
24.1.2 4個完整的游戲 309
24.1.3 超過50個場景 310
24.2 之后的方向 310
24.2.1 制作游戲 310
24.2.2 與人打交道 310
24.2.3 記錄 310
24.3 可供使用的資源 311
24.4 總結(jié) 311
24.5 問答 311
24.6 測試 311
24.6.1 試題 311
24.6.2 答案 312
24.7 練習(xí) 312