本書從自上而下的角度介紹了Unity游戲引擎的功能,并提供了具體的、面向項(xiàng)目的指導(dǎo),說明了如何在真實(shí)的游戲場景中使用這些功能,以及如何從頭開始構(gòu)建讓玩家愛不釋手的2D和3D游戲。主要內(nèi)容有:探索Unity的基礎(chǔ)功能;構(gòu)建卷軸動作游戲;創(chuàng)建具有炮彈射擊和重生對象功能的3D空戰(zhàn)模擬游戲;深入了解Unity的功能。
想在移動平臺上構(gòu)建游戲,必須了解Unity。Unity是開發(fā)人員理想的游戲開發(fā)引擎之一。本書有料有趣,全面介紹了Unity游戲開發(fā),能指導(dǎo)你在Unity中創(chuàng)造自己的游戲玩法。Adam Saltsman,Canabalt和Overland創(chuàng)作者,F(xiàn)inji游戲工作室創(chuàng)始人
學(xué)習(xí)如何使用游戲引擎,一定要親自動手構(gòu)建項(xiàng)目。本書將引導(dǎo)你創(chuàng)建兩個截然不同的游戲,讓你獲得使用Unity多種功能的寶貴經(jīng)驗(yàn)。Alec Holowka,Night in the Woods和Aquaria的主要開fa者,Infinite Ammo游戲工作室
這本書改變了我的生活。我現(xiàn)在能感受到內(nèi)心的平靜,而且我確信我的目光可以穿透時間。Liam Esler,澳大利亞游戲開fa者協(xié)會
本書是一本實(shí)用性與趣味性兼具的移動游戲開發(fā)指南,針對沒有任何游戲開發(fā)經(jīng)驗(yàn)的讀者,通過精彩的項(xiàng)目、豐富的圖片和細(xì)致的講解,展示了如何使用Unity游戲引擎,構(gòu)建適用于iOS和Android設(shè)備的游戲。
● 探索Unity基礎(chǔ)知識,了解架構(gòu)游戲、圖形、腳本、音效、物理和粒子系統(tǒng)
● 使用2D圖形和物理功能構(gòu)建卷軸動作游戲
● 創(chuàng)建具有射擊炮彈和重生對象功能的3D空戰(zhàn)模擬游戲,并管理3D模型的外觀
● 深入了解Unity的功能,例如預(yù)計算光照、著色、自定義編輯器和游戲部署
喬恩·曼寧(Jon Manning)和帕里斯·巴特菲爾德?C艾迪生(Paris Buttfield-Addison)是Secret Lab的聯(lián)合創(chuàng)始人。Secret Lab是一個獨(dú)立游戲開發(fā)工作室,位于澳大利亞的塔斯馬尼亞。
前言 xi
第 一部分 Unity基礎(chǔ)
第 1章 Unity簡介 3
1.1 內(nèi)容簡介 3
1.2 Unity概述 4
1.2.1 Unity能夠做什么 4
1.2.2 獲取Unity 5
第 2章 Unity一覽 6
2.1 編輯器 6
2.2 場景視圖 9
2.2.1 模式選擇器 9
2.2.2 場景視圖內(nèi)的移動 10
2.2.3 手柄控件 11
2.3 Hierarchy窗格 11
2.4 項(xiàng)目視圖 12
2.5 Inspector 13
2.6 游戲視圖 14
2.7 小結(jié) 14
第3章 游戲中的腳本 15
3.1 C#快速入門 16
3.2 Mono和Unity 16
3.3 游戲?qū)ο蟆⒔M件和腳本 18
3.3.1 Inspector 19
3.3.2 組件 19
3.4 重要的方法 20
3.4.1 Awake和OnEnable 20
3.4.2 Start 20
3.4.3 Update和LateUpdate 21
3.5 協(xié)程 22
3.6 創(chuàng)建和銷毀對象 23
3.6.1 實(shí)例化 24
3.6.2 從頭創(chuàng)建對象 24
3.6.3 銷毀對象 24
3.7 特性 25
3.8 腳本中的時間 27
3.9 記錄到控制臺 28
3.10 小結(jié) 28
第二部分 構(gòu)建2D游戲:地精尋寶
第4章 開始構(gòu)建游戲 31
4.1 游戲設(shè)計 32
4.2 創(chuàng)建項(xiàng)目并導(dǎo)入資源 35
4.3 創(chuàng)建地精 37
4.4 繩索 41
4.4.1 編寫控制Rope的代碼 43
4.4.2 配置繩索 52
4.5 小結(jié) 54
第5章 建立游戲玩法 55
5.1 輸入 55
5.1.1 Unity Remote 55
5.1.2 添加傾斜控制 56
5.1.3 控制繩索 59
5.1.4 使攝像機(jī)跟隨地精 61
5.1.5 腳本與調(diào)試 63
5.2 創(chuàng)建地精的代碼 66
5.3 設(shè)置Game Manager 75
5.3.1 設(shè)置和重置游戲 81
5.3.2 創(chuàng)建新地精 82
5.3.3 移除舊地精 83
5.3.4 重置游戲 84
5.3.5 處理觸碰 85
5.3.6 到達(dá)出口 85
5.3.7 暫停與恢復(fù) 86
5.3.8 處理Reset按鈕 86
5.4 準(zhǔn)備場景 86
5.5 小結(jié) 88
第6章 使用陷阱和目標(biāo)建立游戲玩法 89
6.1 簡單的陷阱 89
6.2 寶藏和出口 91
6.3 添加背景 94
6.4 小結(jié) 95
第7章 優(yōu)化游戲 96
7.1 更新游戲的畫面 97
7.2 更新物理組件 100
7.3 背景 104
7.3.1 層 104
7.3.2 創(chuàng)建背景 105
7.3.3 不同的背景 107
7.3.4 井底 109
7.3.5 更新攝像機(jī) 110
7.4 用戶界面 111
7.5 無敵模式 117
7.6 小結(jié) 118
第8章 完成Gnomes Well游戲 119
8.1 更多陷阱和關(guān)卡對象 119
8.1.1 尖刺 119
8.1.2 轉(zhuǎn)輪 120
8.1.3 障礙 123
8.2 粒子效果 123
8.2.1 定義粒子的材質(zhì) 123
8.2.2 Blood Fountain 124
8.2.3 Blood Explosion 127
8.2.4 使用粒子系統(tǒng) 128
8.3 主菜單 128
8.4 音效 132
8.5 完成游戲后的挑戰(zhàn) 133
第三部分 構(gòu)建一個3D 游戲:太空射擊游戲
第9章 構(gòu)建一個太空射擊游戲 137
9.1 設(shè)計游戲 138
9.2 架構(gòu) 141
9.3 創(chuàng)建場景 142
9.3.1 飛船 143
9.3.2 空間站 147
9.3.3 天空盒 149
9.3.4 畫布 152
9.4 小結(jié) 153
第 10章 輸入和飛行控制 154
10.1 輸入 154
10.1.1 添加搖桿 154
10.1.2 輸入管理器 157
10.2 飛行控制 159
10.2.1 指示器 160
10.2.2 Indicator Manager 164
10.3 小結(jié) 166
第 11章 添加武器及鎖定目標(biāo) 167
11.1 武器 167
11.1.1 飛船的武器 170
11.1.2 Fire按鈕 172
11.2 目標(biāo)標(biāo)線 179
11.3 小結(jié) 179
第 12章 小行星與傷害 180
12.1 小行星 180
12.2 造成傷害與受到傷害 185
12.3 小結(jié) 192
第 13章 音效、菜單、死亡及爆炸 193
13.1 菜單 193
13.1.1 主菜單 194
13.1.2 Paused畫面 195
13.1.3 Game Over畫面 196
13.1.4 添加Pause按鈕 197
13.2 Game Manager和死亡 197
13.2.1 起始點(diǎn) 198
13.2.2 創(chuàng)建Game Manager 198
13.2.3 設(shè)置場景 204
13.3 邊界 207
13.3.1 創(chuàng)建UI 207
13.3.2 編寫代碼處理邊界 208
13.4 最終優(yōu)化 213
13.4.1 太空塵埃 213
13.4.2 軌跡渲染器 215
13.4.3 音效 219
13.4.4 爆炸 221
13.5 小結(jié) 221
第四部分 高級功能
第 14章 光照與著色器 225
14.1 材質(zhì)與著色器 225
14.2 全局光照 235
14.3 性能考慮 240
14.3.1 Profiler 240
14.3.2 獲取設(shè)備數(shù)據(jù) 243
14.3.3 通用提示 243
14.4 小結(jié) 244
第 15章 在Unity中創(chuàng)建GUI 245
15.1 Unity GUI系統(tǒng)的工作方式 245
15.1.1 Canvas 245
15.1.2 RectTransform 246
15.1.3 Rect工具 247
15.1.4 錨點(diǎn) 248
15.2 控件 249
15.3 事件和光線投射 249
15.4 使用布局系統(tǒng) 250
15.5 縮放Canvas 252
15.6 畫面切換 253
15.7 小結(jié) 253
第 16章 編輯器擴(kuò)展 254
16.1 創(chuàng)建自定義向?qū)? 255
16.2 創(chuàng)建自定義編輯器窗口 261
16.2.1 Editor GUI API 262
16.2.2 AssetDatabase 270
16.3 創(chuàng)建自定義屬性繪制器 270
16.3.1 創(chuàng)建類 273
16.3.2 設(shè)置屬性的高度 274
16.3.3 覆蓋OnGUI 274
16.3.4 獲取屬性 274
16.3.5 創(chuàng)建屬性作用域 275
16.3.6 繪制標(biāo)簽 275
16.3.7 計算矩形 275
16.3.8 獲取值 276
16.3.9 設(shè)置檢查修改 276
16.3.10 繪制滑動條 276
16.3.11 繪制字段 276
16.3.12 檢查修改 277
16.3.13 存儲屬性 277
16.3.14 進(jìn)行測試 277
16.4 創(chuàng)建自定義Inspector 277
16.4.1 創(chuàng)建一個簡單腳本 277
16.4.2 自定義Inspector的創(chuàng)建 278
16.4.3 設(shè)置類 279
16.4.4 定義顏色和屬性 280
16.4.5 設(shè)置變量 280
16.4.6 開始繪制GUI 280
16.4.7 繪制控件 280
16.4.8 應(yīng)用修改 281
16.4.9 進(jìn)行測試 281
16.5 小結(jié) 282
第 17章 編輯器之外 283
17.1 Unity服務(wù)生態(tài)系統(tǒng) 283
17.1.1 Asset Store 283
17.1.2 Unity Cloud Build 290
17.1.3 Unity Ads 291
17.2 部署 291
17.2.1 設(shè)置項(xiàng)目 291
17.2.2 設(shè)置目標(biāo) 293
17.2.3 針對平臺構(gòu)建游戲 295
17.3 拓展資料 298
作者簡介 300
關(guān)于封面 300