書籍簡介:
本書詳細闡述了與Unity相關(guān)的基本解決方案,主要包括核心UI,道具欄UI,2D動畫,創(chuàng)建貼圖和材質(zhì),相機,光照效果,控制3D動畫,位置、運動和導(dǎo)航,音頻,與外部文件和設(shè)備協(xié)同工作,利用附加特性和優(yōu)化操作改善游戲以及編輯器擴展等內(nèi)容。此外,本書還提供了相應(yīng)的示例、代碼,以幫助讀者進一步理解相關(guān)方案的實現(xiàn)過程。
本書適合作為高等院校計算機及相關(guān)專業(yè)的教材和教學(xué)參考書,也可作為相關(guān)開發(fā)人員的自學(xué)教材和參考手冊。
作者簡介:
[美]Matt Smith, Chico Queiroz 著 劉天慧 譯
出版時間:
2017年12月
章節(jié)目錄:
第1章 核心UI—消息、菜單、積分榜和計數(shù)器 1
1.1 簡介 1
1.2 顯示“HelloWorld”文本消息 5
1.3 顯示數(shù)字時鐘 8
1.4 顯示倒計時數(shù)字計數(shù)器 11
1.5 生成漸變消息 13
1.6 顯示具有透視效果的3D文本消息 15
1.7 顯示一幅圖像 18
1.8 創(chuàng)建UI按鈕并在場景間切換 20
1.9 在面板中組織圖像并通過按鈕調(diào)整面板深度 25
1.10 顯示交互式UI滑塊的數(shù)據(jù)值 29
1.11 基于UI Slider的圖形化倒計時計數(shù)器 33
1.12 表示對象相對位置的顯示雷達 36
1.13 利用Fungus開源對話系統(tǒng)創(chuàng)建UI 46
1.14 設(shè)置自定義鼠標(biāo)指針圖案 48
1.15 用于文本輸入的Input Field 51
1.16 基于Toggle Groups的切換按鈕和單選按鈕 55
1.17 本章小結(jié) 58
第2章 道具欄UI 60
2.1 簡介 60
2.2 創(chuàng)建簡單的小型2D游戲—SpaceGirl61
2.3 利用文本顯示單一對象的拾取65
2.4 利用圖標(biāo)顯示單一對象的拾取道具 72
2.5 利用文本顯示同一對象的多個拾取道具 75
2.6 利用多個圖標(biāo)顯示同一對象的多個拾取道具 77
2.7 調(diào)整貼圖尺寸并顯示多個對象拾取道具圖標(biāo) 82
2.8 顯示不同對象的多個拾取道具84
2.9 使用Dictionary<>和枚舉類型 89
2.10 利用UI Grid Layout Group生成多個圖標(biāo)顯示 94
2.11 本章小結(jié) 109
第3章 2D動畫 110
3.1 簡介 110
3.2 水平方向上的精靈對象翻轉(zhuǎn)111
3.3 角色運動事件中的動畫效果112
3.4 創(chuàng)建3幀動畫剪輯并生成連續(xù)動畫118
3.5 平臺的跌落效果 120
3.6 利用精靈板序列創(chuàng)建動畫剪輯124
3.7 本章小結(jié) 127
第4章 創(chuàng)建貼圖和材質(zhì) 128
4.1 簡介 128
4.1.1 創(chuàng)建并保存紋理貼圖 129
4.1.2 概述 129
4.2 利用StandardShader創(chuàng)建基本材質(zhì)(Specular設(shè)置) 132
4.3 利用Specular和Metallic調(diào)整材質(zhì) 140
4.4 向材質(zhì)添加法線貼圖 144
4.5 向材質(zhì)添加透明度和自發(fā)射貼圖 148
4.6 鼠標(biāo)指針懸停時材質(zhì)的高亮效果 153
4.7 向材質(zhì)中添加細節(jié)貼圖156
4.8 材質(zhì)透明度的淡出效果160
4.9 在場景中播放視頻 163
4.10 本章小結(jié) 166
第5章 相機 168
5.1 簡介 168
5.2 生成畫中畫效果 169
5.3 在多部相機之間進行切換174
5.4 根據(jù)屏幕內(nèi)容生成紋理178
5.5 相機的放大效果 182
5.6 顯示小型地圖 186
5.7 創(chuàng)建游戲中的監(jiān)控相機192
5.8 本章小結(jié) 196
第6章 光照效果 197
6.1 簡介 197
6.2 使用光照和cookie紋理模擬陰天環(huán)境 200
6.3 向場景添加自定義反射貼圖205
6.4 生成激光瞄準(zhǔn)器 208
6.5 利用反射探頭實現(xiàn)周圍物體的反射效果 214
6.6 利用ProceduralSkybox和Directional Light設(shè)置環(huán)境 221
6.7 利用光照貼圖和光探頭照亮簡單場景 224
6.8 本章小結(jié) 235
第7章 控制3D動畫 236
7.1 簡介 236
7.2 配置角色以及空閑動畫237
7.3 利用腳部運動和混合樹移動角色 242
7.4 利用層和遮罩混合動畫249
7.5 將狀態(tài)整合至子狀態(tài)機中255
7.6 通過腳本轉(zhuǎn)換角色控制器260
7.7 向動畫角色中添加內(nèi)容265
7.8 通過動畫事件投擲物體268
7.9 向角色添加Ragdoll物理行為 272
7.10 角色的旋轉(zhuǎn)和瞄準(zhǔn)動作 277
7.11 本章小結(jié) 281
第8章 位置、運動和導(dǎo)航 282
8.1 簡介 282
8.2 2D對象的控制 283
8.3 3D對象控制 287
8.4 計算最近(隨機)生成點292
8.5 在最近途徑檢測點重新生成對象 298
8.6 躲避障礙物時的NPCNavMeshAgent 300
8.7 基于序列路點的路徑 307
8.8 利用集群方式控制對象組的運動 315
8.9 本章小結(jié) 320
第9章 音頻 322
9.1 簡介 322
9.2 音調(diào)與動畫速度之間的匹配323
9.3 利用ReverbZones模擬聲學(xué)環(huán)境 328
9.4 避免音頻剪輯重新播放330
9.5 在對象自動銷毀前終止音頻播放 332
9.6 利用Audio Mixer添加音量控制器 335
9.7 利用Snapshots生成動態(tài)音軌 342
9.8 利用Ducking實現(xiàn)音頻的平衡效果 350
9.9 本章小結(jié) 356
第10章 與外部文件和設(shè)備協(xié)同工作357
10.1 簡介 357
10.2 通過Unity Default Resources加載外部資源文件 359
10.3 通過互聯(lián)網(wǎng)下載方式加載外部資源文件 362
10.4 通過手動存儲文件加載外部資源文件 365
10.5 利用靜態(tài)屬性保存和加載玩家數(shù)據(jù) 367
10.6 利用PlayerPrefs保存和加載玩家數(shù)據(jù) 371
10.7 保存游戲中的屏幕截圖 373
10.8 利用PHP/MySQL設(shè)置排行榜 376
10.9 從文本文件中加載游戲數(shù)據(jù) 380
10.10 利用Git版本控制和GitHub托管管理Unity項目 385
10.11 通過Unity Cloud在多臺設(shè)備上發(fā)布 392
10.12 本章小結(jié) 396
第11章 利用附加特性和優(yōu)化操作改善游戲 397
11.1 簡介 397
11.2 暫停游戲 399
11.3 實現(xiàn)慢動作效果 403
11.4 避免游戲運行于未知服務(wù)器上 407
11.5 狀態(tài)驅(qū)動行為 409
11.6 通過狀態(tài)設(shè)計模式實現(xiàn)事件驅(qū)動行為 416
11.7 銷毀死亡對象以減少對象的數(shù)量 421
11.8 通過禁用對象減少處于開啟狀態(tài)的對象數(shù)量 424
11.9 令對象處于非活動狀態(tài) 428
11.10 利用委托機制和事件改善效率 431
11.11 利用協(xié)同程序定期執(zhí)行某些方法 436
11.12 利用協(xié)同程序?qū)⑤^為耗時的計算分布于多個幀中 438
11.13 計算最小和最大幀速率并估算性能 441
11.14 Unity性能分析器 443
11.15 DIY性能分析機制 446
11.16 緩存GameObject和組件的引用 448
11.17 利用LOD改善性能 458
11.18 減少繪制調(diào)用的次數(shù) 462
11.19 本章小結(jié) 464
第12章 編輯器擴展 465
12.1 簡介 465
12.2 通過自定義Inspector UI修改道具類型(以及參數(shù)) 465
12.3 利用單次單擊操作添加100個隨機位置處的副本 478
12.4 通過進度條顯示完成比率 482
12.5 實例化道具對象 483
12.6 本章小結(jié) 488
封面圖: