第1章 Unity VR入門 1
1.1VR簡介1
1.1.1VR的定義1
1.1.2VR的特性1
1.1.3VR的行業格局1
1.2Unity簡介及安裝2
1.2.1Unity概述2
1.2.2Unity發展簡史及代表作2
1.2.3Unity下載和安裝3
1.2.4Unity開發的學習資源6
1.3本章小結7
1.4習題7
第2章進入Unity世界8
2.1Unity項目從0到18
2.1.1注冊Unity ID並登錄8
2.1.2首次登錄Unity9
2.1.3創建第一個項目11
2.2Unity編輯器11
2.2.1Unity界面布局11
2.2.2Unity Hierarchy視圖11
2.2.3Unity Scene視圖12
2.2.4Unity Game視圖12
2.2.5Unity Inspector視圖13
2.2.6Unity Project視圖13
2.3Unity場景基礎知識14
2.3.1二維/三維坐標繫14
2.3.2場景常用操作及漫遊15
2.3.3物體對像及其基本組件17
2.4Unity之C#腳本編輯20
2.4.1創建C#腳本20
2.4.2C#腳本編輯器設置21
2.4.3MonoBehaviour類21
2.4.4Unity腳本生命周期22
2.4.5簡單C#程序22
2.5本章小結23
2.6習題24
第3章Unity C#編程基礎25
3.1Visual Studio開發工具的使用25
3.1.1Visual Studio 201725
3.1.2創建C#控制臺項目——
HelloWorld25
3.1.3運行控制臺,輸出
“HelloWorld”26
3.2C#的基本語法27
3.2.1基本程序結構27
3.2.2注釋28
3.2.3變量與常量28
3.2.4標識符29
3.2.5關鍵字29
3.3數據類型和類型轉換30
3.3.1值類型30
3.3.2引用類型33
3.3.3類型轉換36
3.4C#中的運算符37
3.4.1算術運算符37
3.4.2關繫運算符38
3.4.3邏輯運算符39
3.4.4位運算符41
3.4.5賦值運算符43
3.4.6運算符的優先級43
3.5C#結構化程序設計44
3.5.1順序結構44
3.5.2選擇結構44
3.5.3循環結構49
3.5.4其他控制結構52
3.6本章小結53
3.7習題53
第4章Unity C#面向對像
程序設計55
4.1C#類、對像、方法55
4.1.1類與對像55
4.1.2方法57
4.1.3static關鍵字60
4.1.4this關鍵字61
4.2C#繼承、抽像、接口62
4.2.1類的繼承62
4.2.2類的抽像64
4.2.3類的接口65
4.3C#多態67
4.3.1多態的實現67
4.3.2多態性的分類71
4.4本章小結71
4.5習題71
第5章Unity場景及資源73
5.1Unity場景基礎73
5.1.1Unity地形繫統73
5.1.2Unity UI繫統73
5.1.3Unity物理繫統73
5.1.4Unity動畫繫統74
5.1.5Unity音頻繫統74
5.1.6Unity特效繫統74
5.2Unity支持的資源類型74
5.2.13D模型、材質及動畫資源74
5.2.2圖片資源格式及圖片類型設定74
5.2.3音頻和視頻資源格式75
5.2.4預設75
5.3Unity 資源導入與導出77
5.3.1Unity資源導入77
5.3.2Unity資源導出78
5.4Helicopter實戰項目:創建遊戲並
準備遊戲資源78
5.4.1Helicopter遊戲的策劃與設計78
5.4.2創建Helicopter項目並導入
美術資源79
5.5本章小結80
5.6習題80
第6章Unity 3D地形繫統81
6.1Unity 3D地形創建81
6.1.1創建地形81
6.1.2添加水體86
6.2Unity幾何體使用87
6.2.1創建幾何體87
6.2.2幾何體材質添加90
6.3Unity天空盒使用91
6.3.1Unity天空盒91
6.3.2自制天空盒92
6.4Unity風的使用93
6.4.1風的創建93
6.4.2風的使用94
6.5Unity燈光的使用94
6.5.1點光源94
6.5.2聚光燈95
6.5.3定向燈95
6.5.4區域燈96
6.5.5發光材質97
6.6Unity霧效的添加97
6.7Unity攝像機與渲染98
6.7.1攝像機的創建98
6.7.2攝像機參數及功能詳解99
6.7.3渲染路徑設置102
6.7.4渲染圖層103
6.8Helicopter實戰項目:搭建遊戲
基礎環境104
6.8.1新建遊戲場景104
6.8.2創建並編輯基礎地形104
6.8.3添加直升機和物資模型105
6.9本章小結106
6.10習題106
第7章Unity UI繫統107
7.1Unity UGUI簡介107
7.2UGUI繫統核心107
7.2.1畫布107
7.2.2渲染模式108
7.2.3Canvas Scaler組件109
7.2.4Graphic Raycaster組件109
7.2.5事件繫統109
7.3UGUI基本布局110
7.3.1矩形工具110
7.3.2矩形變換組件111
7.3.3調整大小和縮放111
7.3.4中心點111
7.3.5錨111
7.3.6錨定預設112
7.4UGUI常用控件113
7.4.1Panel控件113
7.4.2文本控件113
7.4.3圖像控件114
7.4.4Raw Image控件115
7.4.5按鈕控件115
7.4.6滑塊控件116
7.4.7滾動條控件117
7.4.8下拉菜單控件117
7.4.9輸入字段控件118
7.4.10開關控件119
7.4.11滾動區域控件120
7.5Helicopter實戰項目:添加用戶
登錄模塊121
7.5.1新建場景121
7.5.2添加背景121
7.5.3添加文本122
7.5.4添加輸入框123
7.5.5添加按鈕123
7.5.6完成登錄功能124
7.6本章小結126
7.7習題126
第8章Unity物理繫統128
8.1物理繫統的核心組件128
8.1.1剛體128
8.1.2踫撞器130
8.1.3關節134
8.1.4布料繫統141
8.1.5恆力142
8.1.6物理材質142
8.1.7角色控制器143
8.2物理射線的用法144
8.3Helicopter實戰項目:直升機
收集物資146
8.3.1打開遊戲場景146
8.3.2直升機和物資添加踫撞和
剛體146
8.3.3實現直升機飛行控制功能146
8.3.4實現直升機收集物資功能149
8.4本章小結150
8.5習題150
第9章Unity動畫繫統152
9.1Unity動畫繫統概述152
9.2Unity Mecanim動畫繫統153
9.2.1動畫片段153
9.2.2動畫控制器158
9.2.3人形動畫162
9.3Unity舊版動畫繫統166
9.4Helicopter實戰項目:為直升機
主旋翼添加動畫167
9.4.1旋翼動畫錄制167
9.4.2旋翼動畫播放168
9.4.3動畫播放器169
9.5本章小結169
9.6習題170
第10章Unity音頻繫統171
10.1音頻繫統概述171
10.1.1音頻基本理論171
10.1.2使用音頻文件172
10.2音頻繫統核心介紹172
10.2.1音頻片段172
10.2.2音頻源174
10.2.3音頻偵聽器177
10.2.4混音器177
10.2.5音頻過濾器179
10.2.6音頻效果182
10.2.7混響區189
10.3Helicopter實戰項目:為遊戲場景
添加聲音189
10.3.1為直升機飛行添加聲音189
10.3.2音頻控制腳本191
10.4本章小結192
10.5習題192
第11章Unity特效基礎193
11.1粒子特效193
11.1.1粒子繫統概述193
11.1.2創建粒子特效193
11.1.3粒子繫統組成194
11.1.4粒子編輯器210
11.2拖尾特效211
11.2.1創建拖尾特效211
11.2.2Trail Renderer組件211
11.2.3拖尾特效示例213
11.3線特效213
11.3.1創建線特效214
11.3.2Line Renderer組件214
11.3.3線特效示例215
11.4Helicopter實戰項目:為遊戲添加
粒子特效216
11.4.1準備粒子素材216
11.4.2完成煙花粒子制作217
11.4.3為遊戲場景添加煙花特效226
11.5本章小結226
11.6習題227
第12章Unity VR子繫統
模塊228
12.1Unity VR子繫統模塊概述228
12.1.1本機VR支持的優點228
12.1.2啟用本機VR支持228
12.1.3啟用本機VR支持後的改變229
12.1.4Unity VR編輯模式229
12.1.5Unity VR開發的硬件和軟件
建議229
12.2主流VR設備230
12.2.1HTC Vive230
12.2.2Oculus Rift230
12.2.3Daydream230
12.2.4PlayStation VR231
12.3HTC Vive開發231
12.3.1HTC Vive設備組成231
12.3.2Lighthouse技術原理231
12.3.3HTC Vive手柄交互232
12.3.4HTC Vive開發環境的搭建232
12.4本章小結234
12.5習題234
第13章Unity HTC Vive
實戰236
13.1SteamVR插件236
13.1.1SteamVR插件下載導入236
13.1.2SteamVR插件核心模塊
解析237
13.2VR“生存之戰”遊戲252
13.2.1遊戲簡介252
13.2.2遊戲基本步驟252
13.2.3創建項目並導入遊戲資源252
13.2.4遊戲主要功能腳本之Player253
13.2.5遊戲主要功能腳本之
EnemyController255
13.2.6遊戲主要功能腳本之Gun258
13.3本章小結261
13.4習題261