Unity 3D腳本編程+Unity 5.X 3D遊戲開發技術詳解與典型
bm036321 9787121297182 9787115412737
Unity 3D腳本編程——使用C#語言開發跨平颱遊戲
作(譯)者:
陳嘉棟
頁數:
404頁
狀態:
已齣版,銷售中
等級:
中級
齣版時間:
2016-09
定價79.00
ISBN:
978-7-121-29718-2
適閤閱讀:
無論是初次接觸Unity 3D腳本編程的新人,還是有一定經驗的老手,都可以藉由本書來提高自己的水平。
本書以Unity 3D的跨平颱基礎Mono以及其遊戲腳本語言C#為基礎進行講解。全麵係統地剖析瞭Unity 3D的跨平颱原理以及遊戲腳本開發的特點。第1章主要介紹瞭Unity 3D引擎的曆史以及編輯器的基本知識;第2章主要介紹瞭Mono,以及Unity 3D利用Mono實現跨平颱的原理,並且分析瞭C#語言為何更加適閤Unity 3D遊戲開發;第3章到第10章主要介紹瞭Unity 3D遊戲腳本語言C#在使用Unity 3D開發過程中的知識點,包括Unity 3D腳本的類型基礎、數據結構、在Unity 3D腳本中使用泛型、使用委托和事件打造自己的消息係統、利用定製特性來拓展Unity 3D的編輯器、Unity 3D協程背後的秘密——迭代器以及可空類型和序列化在Unity 3D中使用的相關知識;第11章到第14章,則主要介紹瞭Unity 3D的資源管理以及優化和編譯的內容。第1 章 Hello Unity 3D .............................................................................................................. 1
1.1 Unity 3D 遊戲引擎進化史 ................................................................................................ 1
1.2 Unity 3D 編輯器初印象 .................................................................................................... 5
1.2.1 Project 視圖 ............................................................................................................................ 5
1.2.2 Inspector 視圖......................................................................................................................... 8
1.2.3 Hierarchy 視圖 ....................................................................................................................... 9
1.2.4 Game 視圖 ............................................................................................................................ 10
1.2.5 Scene 視圖 ............................................................................................................................ 12
1.2.6 繪圖模式 .............................................................................................................................. 14
1.2.7 渲染模式 .............................................................................................................................. 16
1.2.8 場景視圖控製 ...................................................................................................................... 17
1.2.9 Effects 菜單和Gizmos 菜單 ................................................................................................ 18
1.3 Unity 3D 的組成 .............................................................................................................. 18
1.4 為何需要遊戲腳本 ......................................................................................................... 20
1.5 本章總結 ......................................................................................................................... 21
第2 章 Mono 所搭建的腳本核心基礎 ..................................................................................... 22
2.1 Mono 是什麼 ................................................................................................................... 22
2.1.1 Mono 的組成 ........................................................................................................................ 22
2.1.2 Mono 運行時 ........................................................................................................................ 23
2.2 Mono 如何扮演腳本的角色 ........................................................................................... 24
2.2.1 Mono 和腳本 ........................................................................................................................ 24
2.2.2 Mono 運行時的嵌入 ............................................................................................................ 26
2.3 Unity 3D 為何能跨平颱?聊聊CIL .............................................................................. 38
2.3.1 Unity 3D 為何能跨平颱 ....................................................................................................... 38
2.3.2 CIL 是什麼 ........................................................................................................................... 40
2.3.3 Unity 3D 如何使用CIL 跨平颱........................................................................................... 44
2.4 腳本的選擇,C# 或 ...................................................................................... 48
2.4.1 ·熟悉的陌生人——UnityScript ........................................................................................ 48
2.4.2 UnityScript 與 ..................................................................................................... 51
2.4.3 C#與UnityScript .................................................................................................................. 55
2.5 本章總結 ......................................................................................................................... 57
第3 章 Unity 3D 腳本語言的類型係統 .................................................................................... 58
3.1 C#的類型係統 ................................................................................................................. 58
3.2 值類型和引用類型 ......................................................................................................... 65
3.3 Unity 3D 腳本語言中的引用類型 .................................................................................. 73
3.4 Unity 3D 遊戲腳本中的值類型 ...................................................................................... 90
3.4.1 Vector2、Vector3 以及Vector4 .......................................................................................... 90
3.4.2 其他常見的值類型 .............................................................................................................. 94
3.5 裝箱和拆箱 ..................................................................................................................... 95
3.6 本章總結 ......................................................................................................................... 98
第4 章 Unity 3D 中常用的數據結構 ....................................................................................... 99
4.1 Array 數組 ..................................................................................................................... 100
4.2 ArrayList 數組 ............................................................................................................... 101
4.3 List數組 .................................................................................................................. 102
4.4 C#中的鏈錶——LinkedList .................................................................................. 103
4.5 隊列(Queue)和棧(Stack) ...................................................................... 107
4.6 Hash Table(哈希錶)和Dictionary(字典) ................................................. 112
4.7 本章總結 ....................................................................................................................... 120
第5 章 在Unity 3D 中使用泛型 ............................................................................................ 121
5.1 為什麼需要泛型機製 ................................................................................................... 121
5.2 Unity 3D 中常見的泛型 ................................................................................................ 124
5.3 泛型機製的基礎 ........................................................................................................... 127
5.3.1 泛型類型和類型參數 ........................................................................................................ 128
5.3.2 泛型類型和繼承 ................................................................................................................ 131
5.3.3 泛型接口和泛型委托 ........................................................................................................ 131
5.3.4 泛型方法 ............................................................................................................................ 136
5.4 泛型中的類型約束和類型推斷 .................................................................................... 139
5.4.1 泛型中的類型約束 ............................................................................................................ 139
5.4.2 類型推斷 ............................................................................................................................ 144
5.5 本章總結 ....................................................................................................................... 146
第6 章 在Unity 3D 中使用委托 ............................................................................................ 149
6.1 嚮Unity 3D 中的SendMessage 和BroadcastMessage 說拜拜 .................................... 150
6.2 認識迴調函數機製——委托 ........................................................................................ 151
6.3 委托是如何實現的 ....................................................................................................... 154
6.4 委托是如何調用多個方法的 ........................................................................................ 160
6.5 用事件(Event)實現消息係統 .................................................................................. 164
6.6 事件是如何工作的 ....................................................................................................... 169
6.7 定義事件的觀察者,實現觀察者模式 ........................................................................ 172
6.8 委托的簡化語法 ........................................................................................................... 177
6.8.1 不必構造委托對象 ............................................................................................................ 177
6.8.2 匿名方法 ............................................................................................................................ 178
6.8.3 Lambda 錶達式 .................................................................................................................. 196
6.9 本章總結 ....................................................................................................................... 201
第7 章 Unity 3D 中的定製特性 ............................................................................................. 202
7.1 初識特性——Attribute ................................................................................................. 202
7.1.1 DllImport 特性 ................................................................................................................... 203
7.1.2 Serializable 特性 ................................................................................................................. 205
7.1.3 定製特性到底是誰 ............................................................................................................ 207
7.2 Unity 3D 中提供的常用定製特性 ................................................................................ 208
7.3 定義自己的定製特性類................................................................................................ 213
7.4 檢測定製特性 ............................................................................................................... 216
7.5 親手拓展Unity 3D 的編輯器 ....................................................................................... 217
7.6 本章總結 ....................................................................................................................... 227
第8 章 Unity 3D 協程背後的迭代器 ..................................................................................... 228
8.1 初識Unity 3D 中的協程 ............................................................................................... 228
8.1.1 使用StartCoroutine 方法開啓協程 ................................................................................... 229
8.1.2 使用StopCoroutine 方法停止一個協程 ............................................................................ 233
8.2 使用協程實現延時效果................................................................................................ 234
8.3 Unity 3D 協程背後的秘密——迭代器 ........................................................................ 238
8.3.1 你好,迭代器 .................................................................................................................... 238
8.3.2 原來是狀態機 .................................................................................................................... 242
8.3.3. 狀態管理 ........................................................................................................................... 248
8.4 WWW和協程 ............................................................................................................... 253
8.5 Unity 3D 協程代碼實例 ................................................................................................ 257
8.6 本章總結 ....................................................................................................................... 259
第9 章 在Unity 3D 中使用可空型 ........................................................................................ 260
9.1 如果沒有值 ................................................................................................................... 260
9.2 錶示空值的一些方案 ................................................................................................... 261
9.2.1 使用魔值 ............................................................................................................................ 261
9.2.2 使用標誌位 ........................................................................................................................ 261
9.2.3 藉助引用類型來錶示值類型的空值 ................................................................................. 265
9.3 使用可空值類型 ........................................................................................................... 267
9.4 可空值類型的簡化語法................................................................................................ 272
9.5 可空值類型的裝箱和拆箱 ............................................................................................ 278
9.6 本章總結 ....................................................................................................................... 280
第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
评分
评分
评分
评分
评分
评分
评分
评分
本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有