Unity游戲開發入門經典(第4版)
[美]邁克·吉格(Mike Geig)
- 出版商: 人民郵電
- 出版日期: 2024-09-01
- 售價: $539
- 貴賓價: 9.5 折 $512
- 語言: 簡體中文
- 頁數: 312
- ISBN: 7115602441
- ISBN-13: 9787115602442
-
相關分類:
遊戲引擎 Game-engine
- 此書翻譯自: Sams Teach Yourself Unity Game Development in 24 Hours, 4/e (Paperback)
立即出貨
買這商品的人也買了...
-
$620$490 -
$640$544 -
$354$336 -
$580$458 -
$790$616 -
$720$706 -
$281修改軟件的藝術 : 構建易維護代碼的 9條最佳實踐 (Beyond Legacy Code: Nine Practices to Extend the Life (and Value) of Your Software)
-
$352程序員修煉之道——程序設計入門30講
-
$800$632 -
$403程序員的三門課:技術精進、架構修煉、管理探秘
-
$460$363 -
$680$537 -
$414$393 -
$980$774 -
$250$213 -
$600$468 -
$580$458 -
$620$490 -
$588$559 -
$425Effective C (中文版)
-
$1,000$900 -
$630$498 -
$708$673 -
$594$564 -
$599$569
相關主題
商品描述
Unity 游戲引擎是由 Unity Technologies 公司開發的一個讓玩家能夠輕松創建諸如三維視頻游戲、建築可視化、實時三維動畫等內容的跨平臺綜合游戲開發工具。很多熱門游戲都是應用該引擎開發的,例如《深海迷航》《坎巴拉太空計劃》等。
本書以直截了當、循序漸進的方式講解Unity 游戲開發從基礎到高級的所有內容,包括游戲物理引擎、動畫和移動設備部署技術。本書分為24 章,內容包括 Unity 游戲引擎和編輯器的介紹,游戲對象、模型、材質、紋理、地形、環境、燈光和攝像機的介紹及應用,任務腳本的編寫,真實的物理效果和碰撞的應用,預製件、2D 游戲工具、瓦片地圖、用戶界面、粒子系統、動畫、動畫器、時間軸、復雜音頻的集成、移動設備加速計和多點觸摸屏幕的使用,以及4 個游戲案例。
本書附贈源代碼,適合對使用Unity 進行游戲開發感興趣的零基礎讀者學習。有過其他游戲平臺開發經驗,打算向Unity 平臺拓展的讀者也可以通過本書快速上手。
作者簡介
【作者】迈克·吉格(Mike Geig)在Unity Technologies 的制作团队就职,他通过制作并传播具有强大影响力的学习资源,使得游戏开发技术更加普及。同时,迈克也是一位经验丰富的独立游戏开发者,一位大学老师,一位作家。作为一位资深游戏人,他对该领域的热爱使他致力于将这项互动艺术的开发过程变得更加有趣,让各行各业的人都能加入进来。
【译者】唐誉玲,毕业于英国爱丁堡大学的艺术学院,是一位交互媒体艺术从业者,具有丰富的游戏引擎使用经验,擅长建立人与机器、人与虚拟空间的交流,并乐于探索游戏化思维及虚拟空间的多场景应用。
目錄大綱
第 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 總結 16
1.5 問答 16
1.6 測試 16
1.6.1 試題 16
1.6.2 答案 16
1.7 練習 16
第 2章 游戲對象 18
2.1 維度和坐標系統 18
2.1.1 走進3D 18
2.1.2 使用坐標系統 19
2.1.3 世界坐標和局部坐標 20
2.2 游戲對象 21
2.3 變換 22
2.3.1 移動 23
2.3.2 旋轉 24
2.3.3 縮放 24
2.3.4 變換的風險 25
2.3.5 工具句柄位置 26
2.3.6 變換或嵌套對象 27
2.4 總結 27
2.5 問答 27
2.6 測試 28
2.6.1 試題 28
2.6.2 答案 28
2.7 練習 28
第3章 模型、材質和紋理 29
3.1 模型的基礎知識 29
3.1.1 內置的3D對象 30
3.1.2 導入模型 30
3.1.3 模型和資源商店 32
3.2 紋理、著色器和材質 33
3.2.1 紋理 34
3.2.2 著色器 35
3.2.3 材質 35
3.2.4 再論著色器 35
3.3 總結 38
3.4 問答 38
3.5 測試 38
3.5.1 試題 38
3.5.2 答案 38
3.6 練習 38
第4章 地形和環境 40
4.1 地形生成 40
4.1.1 為項目添加地形 40
4.1.2 高度圖的繪制 42
4.1.3 Unity繪制地形工具 44
4.2 地形紋理 46
4.2.1 導入地形資源 46
4.2.2 紋理化地形 47
4.3 生成樹和草 49
4.3.1 繪制樹 49
4.3.2 繪制草 50
4.3.3 地形設置 51
4.4 角色控制器 53
4.5 總結 54
4.6 問答 54
4.7 測試 55
4.7.1 試題 55
4.7.2 答案 55
4.8 練習 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 利用對象創建燈光 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 總結 69
5.5 問答 69
5.6 測試 69
5.6.1 試題 69
5.6.2 答案 70
5.7 練習 70
第6章 游戲案例1:Amazing Racer 71
6.1 設計 71
6.1.1 概念 71
6.1.2 規則 71
6.1.3 需求 72
6.2 創建游戲世界 73
6.2.1 繪制游戲世界 73
6.2.2 添加環境 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 總結 82
6.6 問答 82
6.7 測試 82
6.7.1 試題 82
6.7.2 答案 82
6.8 練習 83
第7章 腳本(第 一部分) 84
7.1 腳本 84
7.1.1 創建腳本 85
7.1.2 附加腳本 87
7.1.3 一個基本腳本的詳細分析 88
7.1.4 using部分 88
7.1.5 類聲明部分 89
7.1.6 類的內容 89
7.2 變量 90
7.2.1 創建變量 90
7.2.2 變量可用域 91
7.2.3 公有和私有 91
7.3 運算符 92
7.3.1 算術運算符 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 循環語句 97
7.5.1 while循環語句 98
7.5.2 for循環語句 98
7.6 總結 99
7.7 問答 99
7.8 測試 99
7.8.1 試題 99
7.8.2 答案 100
7.9 練習 100
第8章 腳本(第二部分) 101
8.1 方法 101
8.1.1 方法的具體分析 102
8.1.2 編寫方法 104
8.1.3 使用方法 105
8.2 輸入 106
8.2.1 輸入的基礎知識 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 總結 115
8.6 問答 115
8.7 測試 115
8.7.1 試題 116
8.7.2 答案 116
8.8 練習 116
第9章 碰撞 117
9.1 剛體 117
9.2 碰撞器和物理材質 118
9.2.1 碰撞器 118
9.2.2 物理材質 120
9.3 觸發器 121
9.4 光線投射 123
9.5 總結 124
9.6 問答 124
9.7 測試 125
9.7.1 試題 125
9.7.2 答案 125
9.8 練習 125
第 10章 游戲案例2:Chaos Ball 126
10.1 設計 126
10.1.1 概念 126
10.1.2 規則 126
10.1.3 需求 127
10.2 舞臺 127
10.2.1 創建舞臺 127
10.2.2 紋理化 128
10.2.3 創建超級彈性材質 129
10.2.4 完成舞臺 129
10.3 游戲實體 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 優化游戲 135
10.6 總結 136
10.7 問答 136
10.8 測試 136
10.8.1 試題 136
10.8.2 答案 136
10.9 練習 137
第 11章 預製件 138
11.1 預製件的基礎知識 138
11.1.1 預製件的術語 138
11.1.2 預製件結構 139
11.2 使用預製件 140
11.2.1 新建預製件 140
11.2.2 向場景中添加一個預製件實例 142
11.2.3 修改已有預製件 143
11.2.4 使用代碼實例化預製件 145
11.3 總結 145
11.4 問答 145
11.5 測試 146
11.5.1 試題 146
11.5.2 答案 146
11.6 練習 146
第 12章 2D游戲工具 148
12.1 2D游戲的基礎知識 148
12.2 正交攝像機 150
12.3 添加精靈 151
12.3.1 導入精靈 151
12.3.2 Sprite模式 152
12.3.3 導入精靈大小 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 總結 158
12.7 問答 158
12.8 測試 158
12.8.1 試題 158
12.8.2 答案 158
12.9 練習 158
第 13章 2D瓦片地圖 160
13.1 瓦片地圖的基礎知識 160
13.1.1 創建一個瓦片地圖 160
13.1.2 網格 162
13.2 調色板 162
13.3 瓦片的相關操作 164
13.3.1 配置精靈 165
13.3.2 創建瓦片 165
13.3.3 繪制瓦片 166
13.3.4 自定義調色板 169
13.4 瓦片地圖和物理屬性 169
13.4.1 瓦片地圖碰撞器 169
13.4.2 使用Composite Collider 2D組件 171
13.5 總結 172
13.6 問答 172
13.7 測試 172
13.7.1 試題 172
13.7.2 答案 172
13.8 練習 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 總結 186
14.6 問答 186
14.7 測試 186
14.7.1 試題 186
14.7.2 答案 187
14.8 練習 187
第 15章 游戲案例3:Captain Blaster 189
15.1 設計 189
15.1.1 概念 189
15.1.2 規則 189
15.1.3 需求 190
15.2 畫布 190
15.2.1 攝像機 190
15.2.2 背景 190
15.2.3 游戲實體 191
15.2.4 游戲角色 192
15.2.5 流星 193
15.2.6 子彈 194
15.2.7 觸發器 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 優化 203
15.5 總結 203
15.6 問答 203
15.7 測試 203
15.7.1 試題 204
15.7.2 答案 204
15.8 練習 204
第 16章 粒子系統 205
16.1 粒子系統的基礎知識 205
16.1.1 粒子 205
16.1.2 Unity粒子系統 205
16.1.3 粒子系統的控制 206
16.2 粒子系統模塊 207
16.2.1 默認模塊 208
16.2.2 發射模塊 209
16.2.3 形狀模塊 209
16.2.4 生命周期內速度模塊 210
16.2.5 生命周期內速度限制模塊 210
16.2.6 繼承速度模塊 210
16.2.7 基於發射器速度的生命周期模塊 210
16.2.8 生命周期內受力模塊 211
16.2.9 生命周期內顏色模塊 211
16.2.10 速度顏色模塊 212
16.2.11 生命周期內大小模塊 212
16.2.12 速度決定大小模塊 212
16.2.13 生命周期內旋轉模塊 212
16.2.14 按速度旋轉模塊 212
16.2.15 外力模塊 212
16.2.16 噪音模塊 212
16.2.17 碰撞模塊 213
16.2.18 觸發器模塊 215
16.2.19 子發射器模塊 215
16.2.20 紋理表格動畫模塊 215
16.2.21 光線模塊 216
16.2.22 拖尾模塊 216
16.2.23 自定義數據模塊 216
16.2.24 渲染器模塊 216
16.3 曲線編輯器 217
16.4 總結 218
16.5 問答 218
16.6 測試 219
16.6.1 試題 219
16.6.2 答案 219
16.7 練習 219
第 17章 動畫 220
17.1 動畫的基礎知識 220
17.1.1 綁定 220
17.1.2 動畫 221
17.2 2D動畫與創建動畫 221
17.2.1 2D動畫 221
17.2.2 創建動畫 222
17.3 動畫工具 223
17.3.1 動畫視圖 224
17.3.2 創建一個新的動畫 225
17.3.3 記錄模式 227
17.3.4 曲線編輯器 228
17.4 總結 229
17.5 問答 230
17.6 測試 230
17.6.1 試題 230
17.6.2 答案 230
17.7 練習 230
第 18章 動畫器 231
18.1 動畫器的基礎知識 231
18.1.1 綁定 232
18.1.2 導入模型 233
18.2 配置你的資源 233
18.2.1 綁定的準備工作 234
18.2.2 動畫的準備工作 235
18.3 創建動畫器 239
18.3.1 動畫器視圖 240
18.3.2 Idle動畫 241
18.3.3 參數 242
18.3.4 狀態和混合樹 243
18.3.5 過渡 244
18.4 腳本控制動畫器 245
18.5 總結 246
18.6 問答 246
18.7 測試 247
18.7.1 試題 247
18.7.2 答案 247
18.8 練習 247
第 19章 時間軸 248
19.1 時間軸的基礎知識 248
19.1.1 解析時間軸視圖 248
19.1.2 創建一個時間軸 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 總結 258
19.5 問答 258
19.6 測試 258
19.6.1 試題 258
19.6.2 答案 258
19.7 練習 258
第 20章 游戲案例4:Gauntlet Runner 259
20.1 設計 259
20.1.1 概念 259
20.1.2 規則 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 觸發區 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 把游戲的各個部分結合起來 272
20.5 優化 273
20.6 總結 273
20.7 問答 273
20.8 測試 274
20.8.1 試題 274
20.8.2 答案 274
20.9 練習 274
第 21章 音頻 275
21.1 音頻的基礎知識 275
21.1.1 音頻的組成部分 275
21.1.2 2D和3D音頻 276
21.2 音頻源 276
21.2.1 導入音頻片段 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 創建音頻混合器 283
21.4.2 將音頻發送給混合器 283
21.5 總結 284
21.6 問答 284
21.7 測試 284
21.7.1 試題 284
21.7.2 答案 285
21.8 練習 285
第 22章 移動開發 287
22.1 移動開發的準備 287
22.1.1 設置環境 288
22.1.2 Unity Remote 289
22.2 加速計 290
22.2.1 為加速計設計游戲 291
22.2.2 使用加速計 291
22.2.3 多點觸摸輸入 292
22.3 總結 294
22.4 問答 295
22.5 測試 295
22.5.1 試題 295
22.5.2 答案 295
22.6 練習 295
第 23章 潤色和部署 297
23.1 管理場景 297
23.1.1 建立場景順序 298
23.1.2 切換場景 299
23.2 保存數據和對象 299
23.2.1 保存對象 299
23.2.2 保存數據 301
23.3 Unity玩家設置 303
23.3.1 跨平臺的設置 303
23.3.2 每個平臺的設置 304
23.4 生成游戲 305
23.5 總結 306
23.6 問答 306
23.7 測試 306
23.7.1 試題 306
23.7.2 答案 306
23.8 練習 307
第 24章 結束語 308
24.1 成功 308
24.1.1 23章的學習 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 總結 311
24.5 問答 311
24.6 測試 311
24.6.1 試題 311
24.6.2 答案 312
24.7 練習 312