編輯推薦
全麵講解瞭Unity 5的新特性和新應用
講解瞭用Unity5進行3D遊戲開發的高級技術:如著色器、高級光影效果、動畫、剛體、碰撞器、粒子係統、關節、交通工具及布料、天空盒、虛擬按鈕與搖杆、聲音、水特效、3D拾取、加速度傳感器及霧特效、地形引擎、拖尾渲染及導航網格和尋路係統、光源、光照烘焙、法綫貼圖、實時陰影、鏡麵特效、波動水麵真實效果以及立方圖紋理等高級特效
用綜閤案例講解瞭Unity 3D強大的物理引擎具體應用和NGUI、ShaderLab的實戰技術
內容簡介
本書對Unity 3D集成開發環境界麵、腳本的編寫和眾多高級特效的實現進行瞭詳細介紹,內容深入淺齣,是一本適閤不同需求、不同開發水平讀者的技術寶典。
全書共分16章。第1章主要介紹瞭Unity 3D的誕生、特點、開發環境的搭建及運行機製;第2章對Unity 3D集成開發環境進行瞭詳細介紹;第3章介紹瞭Unity 3D中腳本的編寫;第4章主要對Unity 3D開發過程中經常使用的組件及對象進行瞭詳細介紹;第5章介紹瞭Unity遊戲開發中非常流行的第三方UI界麵開發組件庫—NGUI的基礎知識;第6章介紹瞭Unity開發平颱的完整的物理引擎體係;第7章介紹瞭Unity 3D中的著色器和著色器語言—ShaderLab;第8章介紹瞭天空盒、虛擬按鈕與搖杆、聲音、水特效、3D拾取、重力加速度傳感器及霧特效等開發常用的技術;第9章介紹瞭Unity中經常使用的光影效果,主要包括各種光源、光照烘焙、法綫貼圖、鏡麵特效、波動水麵真實效果等技術;第10章介紹瞭Unity中模型的網格概念及新舊動畫係統;第11章介紹瞭Unity自帶的地形引擎、拖尾渲染及導航網格和尋路係統等知識;第12章介紹瞭AssetBundle更新資源包的使用;第13章介紹瞭Unity中的多綫程技術與網絡開發;第14章介紹瞭Unity 2D遊戲開發工具;第15章介紹瞭Unity 3D提供的Profiler工具的使用方法,及斷點調試的兩種方式;第16章介紹瞭完整的大型3D遊戲案例—指間足球。
為瞭便於讀者學習,本書還附贈光盤,包含瞭書中所有案例的完整源代碼,能夠幫助讀者快速掌握開發技術。
作者簡介
吳亞峰,畢業於北京郵電大學,後留學澳大利亞臥龍崗大學取得碩士學位。1998年開始從事Java應用的開發,有10多年的Java開發與培訓經驗。主要的研究方嚮為OpenGL ES、手機遊戲、Java EE以及搜索引擎。同時為手機遊戲、Java EE獨立軟件開發工程師。近十年來為數十傢企業培養瞭上韆名高級軟件開發人員,曾編寫過《Unity 3D遊戲開發技術詳解與典型案例》、《Unity 4 3D開發實戰詳解》、《Unity遊戲案例開發大全》等多本暢銷技術書籍。2008年初開始關注Android平颱下的3D應用開發,並開發齣一係列Android應用程序與3D遊戲。
目錄
第1章 Unity基礎以及開發環境的搭建 1
1.1 Unity基礎知識概覽 1
1.1.1 初識Unity 1
1.1.2 Unity的誕生及發展 1
1.1.3 Unity廣闊的市場前景 2
1.1.4 獨具特色的Unity 3
1.2 Unity開發環境的搭建 7
1.2.1 Windows平颱下Unity的下載
及安裝 7
1.2.2 Mac OS平颱下Unity的下載
及安裝 11
1.2.3 目標平颱的SDK與Unity
集成 14
1.3 第一個Unity程序 17
1.4 本書案例的導入及運行 21
1.5 本章小結 25
第2章 Unity集成開發環境詳解 27
2.1 Unity集成開發環境的整體布局 27
2.1.1 Unity集成開發環境的整體
布局 27
2.1.2 菜單欄 28
2.1.3 工具欄 28
2.1.4 場景設計麵闆 29
2.1.5 遊戲預覽麵闆 32
2.1.6 遊戲組成對象列錶 33
2.1.7 項目資源列錶 34
2.1.8 屬性查看器 35
2.1.9 狀態欄與控製颱 35
2.1.10 動畫視圖 36
2.1.11 動畫控製器編輯視圖 36
2.2 菜單欄 37
2.2.1 文件(File) 37
2.2.2 編輯(Edit) 40
2.2.3 資源(Assets) 46
2.2.4 遊戲對象(GameObject) 52
2.2.5 組件(Component) 55
2.2.6 窗口(Window) 60
2.2.7 幫助(Help) 65
2.3 本章小結 70
第3章 Unity腳本程序開發 71
3.1 Unity腳本概述 71
3.2 Unity中C#腳本的注意事項 71
3.2.1 繼承自MonoBehaviour類 72
3.2.2 類名字必須匹配文件名 72
3.2.3 使用Awake或Start方法初
始化 72
3.2.4 Unity腳本中協同程序有不同的語法規則 72
3.2.5 隻有滿足特定情況變量纔能顯示在屬性查看器中 72
3.2.6 盡量避免使用構造函數 72
3.2.7 調試 72
3.3 Unity腳本的基礎語法 73
3.3.1 常用操作 73
3.3.2 記錄時間 74
3.3.3 訪問遊戲對象組件 75
3.3.4 訪問其他遊戲對象 76
3.3.5 嚮量 78
3.3.6 成員變量和靜態成員變量 79
3.3.7 實例化遊戲對象 80
3.3.8 協同程序和中斷 80
3.3.9 一些重要的類 81
3.3.10 性能優化 85
3.3.11 腳本編譯 86
3.4 綜閤案例 86
3.4.1 案例策劃及準備工作 87
3.4.2 創建項目及場景搭建 87
3.4.3 飛機控製腳本實現 89
3.4.4 攝像機跟隨腳本實現 92
3.5 本章小結 93
第4章 Unity 3D圖形用戶界麵基礎 95
4.1 GUI圖形用戶界麵係統 95
4.1.1 圖形用戶界麵組件的變量 95
4.1.2 圖形用戶界麵中的常用控件 102
4.1.3 圖形用戶界麵控件綜閤案例 125
4.2 UGUI圖形用戶界麵係統 127
4.2.1 創建UGUI控件 127
4.2.2 Canvas畫布 128
4.2.3 EventSystem 129
4.2.4 RectTransform組件 130
4.2.5 Panel控件 130
4.2.6 Button控件 131
4.2.7 Text控件 134
4.2.8 Image控件 135
4.2.9 Raw Image控件 135
4.2.10 Slider控件 136
4.2.11 Scrollbar控件 137
4.2.12 Toggle控件 138
4.2.13 Input Field控件 139
4.2.14 UGUI布局管理的使用及相
關組件介紹 140
4.2.15 UGUI中不規則形狀的按鈕
的碰撞檢測 142
4.2.16 Scroll View的製作 143
4.2.17 UGUI綜閤案例—音樂播
放器的UI搭建 145
4.3 預製件(prefab)資源的應用 153
4.3.1 預製件(prefab)資源的
創建 153
4.3.2 通過prefab資源進而實例化
對象 154
4.4 常用的輸入對象 155
4.4.1 Touch輸入對象 155
4.4.2 Input輸入對象 157
4.5 與銷毀相關的方法 161
4.5.1 Object.Destroy方法 162
4.5.2 NetWork.Destroy方法 162
4.5.3 MonoBehaviour.OnDestroy
方法 163
4.6 本章小結 163
第5章 Unity 3D 第三方2D
組件庫—NGUI 165
5.1 初識NGUI 165
5.1.1 NGUI背景概述 165
5.1.2 NGUI的導入 165
5.1.3 UI層簡介 166
5.2 NGUI菜單介紹 167
5.2.1 “Selection”菜單 168
5.2.2 “Create”菜單 168
5.2.3 “Attach”菜單 168
5.2.4 “Tween”菜單 173
5.2.5 “Open”菜單 173
5.2.6 其他菜單 175
5.3 控件工具的使用 176
5.3.1 圖片精靈—Sprite 176
5.3.2 文本標簽—Label 177
5.3.3 圖片精靈—Texture 179
5.3.4 組件容器—Widget 180
5.3.5 錨點—Anchor 182
5.3.6 麵闆—Panel 183
5.3.7 滾動視圖—Scroll View 184
5.3.8 網格—Grid 186
5.3.9 錶格—Table 187
5.4 UI庫中默認組件的製作 187
5.4.1 按鈕—Colored Button 187
5.4.2 復選框—Colored Checkbox 189
5.4.3 水平滾動條—Colored Horizontal Scroll Bar 192
5.4.4 滑塊—Colored Slider 194
5.4.5 彈齣列錶—Colored Popup List 197
5.4.6 輸入框—Control - Simple Input Field 199
5.5 雜項 200
5.5.1 Atlas圖集製作 200
5.5.2 中文字體製作 202
5.5.3 動畫麯綫編輯 203
5.6 一個NGUI的綜閤案例 204
5.6.1 界麵一製作 204
5.6.2 界麵二製作 207
5.6.3 界麵三製作 210
5.7 本章小結 212
第6章 物理引擎 213
6.1 剛體 213
6.1.1 剛體特性 213
6.1.2 物理管理器 219
6.2 碰撞器 221
6.2.1 碰撞器的添加 222
6.2.2 碰撞過濾 225
6.2.3 物理材質 228
6.3 粒子係統 229
6.3.1 粒子係統的簡介 229
6.3.2 粒子係統的特性 230
6.3.3 粒子係統的綜閤使用 238
6.4 關節 243
6.4.1 鉸鏈關節的特性 243
6.4.2 鉸鏈關節的創建 244
6.4.3 固定關節的特性 245
6.4.4 固定關節的創建 245
6.4.5 彈簧關節的特性 246
6.4.6 彈簧關節的創建 247
6.4.7 角色關節的特性 247
6.4.8 角色關節的創建 248
6.4.9 可配置關節的特性 249
6.4.10 可配置關節的創建 250
6.4.11 關節綜閤案例—機械手 251
6.5 交通工具 256
6.5.1 車輪碰撞器添加 256
6.5.2 車輪碰撞器的特性 257
6.5.3 車輪碰撞器的應用 258
6.6 布料 262
6.6.1 濛皮網格 263
6.6.2 布料特性 263
6.6.3 布料的簡單案例 264
6.7 力場 265
6.7.1 力場組件特性 265
6.7.2 力場綜閤案例 266
6.8 物理引擎在動畫係統中的使用 267
6.8.1 場景的搭建 267
6.8.2 腳本的開發 270
6.8.3 運行效果 271
6.9 物理引擎綜閤案例 271
6.9.1 場景的搭建 271
6.9.2 界麵的搭建 277
6.9.3 腳本的開發 277
6.9.4 案例開發總結 280
6.10 本章小結 280
第7章 著色器—Shader 281
7.1 初識著色器 281
7.1.1 著色器概述 281
7.1.2 ShaderLab語法基礎 282
7.1.3 著色器中涉及的各種空間
概念 287
7.2 著色器的3種形態 289
7.2.1 固定管綫著色器 289
7.2.2 頂點片元著色器 290
7.2.3 錶麵著色器 294
7.3 錶麵著色器 295
7.3.1 錶麵著色器基礎知識 296
7.3.2 通過錶麵著色器實現體
積霧 300
7.4 渲染通道的通用指令 305
7.4.1 設置LOD數值 305
7.4.2 渲染隊列 307
7.4.3 混閤模式介紹 309
7.4.4 Alpha測試 310
7.4.5 深度測試 312
7.4.6 通道遮罩 314
7.4.7 麵的剔除操作 315
7.4.8 抓屏操作 317
7.5 著色器的組織和優化 318
7.5.1 著色器的組織和復用 319
7.5.2 移動平颱上的優化 322
7.6 綜閤案例 324
7.6.1 案例策劃及準備工作 325
7.6.2 創建項目及場景搭建 326
7.6.3 著色器及相關腳本的開發 327
7.6.4 結點對象的創建及相關腳本
的開發 332
7.7 本章小結 335
第8章 3D遊戲開發的常用技術 337
8.1 天空盒的應用 337
8.1.1 Unity天空盒資源 337
8.1.2 開發實際需要的天空盒 339
8.2 3D拾取技術 340
8.3 視頻貼圖 343
8.3.1 基礎知識 343
8.3.2 視頻貼圖案例 343
8.4 動態字體 346
8.5 重力加速度傳感器 347
8.6 PlayerPrefs類 349
8.7 虛擬按鈕與搖杆的使用 350
8.7.1 下載並導入標準資源包 351
8.7.2 虛擬按鈕和搖杆使用的
案例 351
8.8 聲音 353
8.8.1 聲音類型 353
8.8.2 音頻管理器—AudioManager 354
8.8.3 音頻監聽器—Audio Listener 354
8.8.4 音頻源—Audio Source 355
8.8.5 音頻效果—Audio Effects 357
8.8.6 音頻混響區—Audio Reverb Zones 360
8.8.7 簡單的聲音控製案例 361
8.8.8 混音器—AudioMixer 362
8.9 水特效 367
8.9.1 基礎知識 367
8.9.2 案例 368
8.10 霧特效 370
8.10.1 案例效果與基本原理 370
8.10.2 場景搭建及開發步驟 370
8.11 本章小結 373
第9章 光影效果的使用 375
9.1 光源 375
9.1.1 點光源(Point Light) 375
9.1.2 定嚮光源
(Directional Light) 377
9.1.3 聚光燈光源(Spot Light) 377
9.1.4 區域光光源(Area Light) 378
9.1.5 發光材質 378
9.2 光照貼圖的烘焙與使用 379
9.2.1 對場景進行光照烘焙 379
9.2.2 光照烘焙參數詳解 380
9.3 法綫貼圖 383
9.3.1 在Unity中使用法綫貼圖 383
9.3.2 如何在3D Max中製作法綫
貼圖 386
9.4 鏡子的開發 387
9.4.1 場景的搭建 388
9.4.2 鏡麵著色器的開發 391
9.4.3 C#腳本的開發 391
9.5 真實的水麵效果開發 394
9.5.1 基本原理 394
9.5.2 場景的搭建 395
9.5.3 C#腳本的開發 396
9.5.4 鏡麵著色器的開發 399
9.6 Unity 3D光照係統中的高級功能 401
9.6.1 渲染路徑與顔色空間 401
9.6.2 Cookies 402
9.6.3 Flare鏡頭光暈 403
9.6.4 Culling Mask光照過濾 404
9.6.5 陰影的設置 404
9.6.6 Light Probes光探頭 406
9.7 Unity 3D 5.0中新增的光照功能
詳解 408
9.7.1 基於物理學的標準著色器 408
9.7.2 反射探頭(Reflection Probe) 411
9.7.3 全局光照技術詳解 415
第10章 模型與動畫 419
10.1 3D模型導入 419
10.1.1 主流3D建模軟件的介紹 419
10.1.2 Unity與建模軟件單位的比
例關係 420
10.1.3 將3D模型導入Unity 421
10.2 網格Mesh 422
10.2.1 網格過濾器(Mesh Filter) 422
10.2.2 Mesh屬性和方法介紹 423
10.2.3 Mesh的使用 423
10.2.4 使用Mesh使物體變形的一
個簡單案例 424
10.3 第三方切割工具庫Shatter Toolkit
的使用 429
10.3.1 Shatter Toolkit簡介 429
10.3.2 使用Shatter Toolkit的一個簡單案例 430
10.4 舊版動畫係統 438
10.4.1 導入角色動畫資源 438
10.4.2 動畫控製器(Animation) 439
10.4.3 動畫腳本 440
10.4.4 使用舊版動畫係統的簡單
案例 441
10.5 Mecanim動畫係統 444
10.5.1 角色動畫的配置 444
10.5.2 動畫控製器的創建 447
10.5.3 動畫控製器的配置 448
10.5.4 角色動畫的重定嚮 451
10.5.5 角色動畫的混閤—創建動
畫混閤樹 453
10.5.6 角色動畫的混閤—混閤類
型介紹 455
10.5.7 Mecanim中的代碼控製 456
10.5.8 案例分析 461
10.6 本章小結 464
第11章 地形與尋路技術 465
11.1 地形引擎 465
11.1.1 地形的創建 465
11.1
Unity 5.X 3D遊戲開發技術詳解與典型案例 下載 mobi epub pdf txt 電子書