虛擬現(xiàn)實(shí)與增強(qiáng)現(xiàn)實(shí)理論與實(shí)踐
定 價(jià):69.9 元
- 作者:?jiǎn)蚊蕾t
- 出版時(shí)間:2024/8/1
- ISBN:9787121485961
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP391.98
- 頁(yè)碼:332
- 紙張:
- 版次:01
- 開本:16開
本書圍繞虛擬現(xiàn)實(shí)技術(shù)領(lǐng)域的人才需求和崗位要求進(jìn)行內(nèi)容設(shè)計(jì),首先介紹虛擬現(xiàn)實(shí)與增強(qiáng)現(xiàn)實(shí)的基礎(chǔ)理論和關(guān)鍵技術(shù),分析虛擬現(xiàn)實(shí)與增強(qiáng)現(xiàn)實(shí)在相關(guān)專業(yè)領(lǐng)域中的應(yīng)用狀況及人才需求;然后重點(diǎn)介紹Unity(VR 引擎工具)的基本操作與開發(fā)基礎(chǔ)、C#語(yǔ)言基礎(chǔ)、基于Unity 進(jìn)行用戶界面的開發(fā)及交互邏輯和物理引擎的應(yīng)用、HTC VIVE 平臺(tái)的VR 開發(fā)基礎(chǔ)、AR 應(yīng)用的開發(fā)基礎(chǔ)等內(nèi)容。 本書以虛擬現(xiàn)實(shí)與增強(qiáng)現(xiàn)實(shí)項(xiàng)目開發(fā)流程中涉及的基礎(chǔ)知識(shí)和關(guān)鍵技術(shù)為主線,輔以相關(guān)的應(yīng)用開發(fā)案例,緊扣虛擬現(xiàn)實(shí)與增強(qiáng)現(xiàn)實(shí)行業(yè)的人才培養(yǎng)要求。 本書結(jié)構(gòu)完整、內(nèi)容系統(tǒng)全面、案例豐富,既適合Unity 3D 開發(fā)的初學(xué)者學(xué)習(xí),也適合對(duì)游戲開發(fā)、工業(yè)設(shè)計(jì)、建筑設(shè)計(jì)等虛擬現(xiàn)實(shí)與增強(qiáng)現(xiàn)實(shí)應(yīng)用開發(fā)感興趣的設(shè)計(jì)者學(xué)習(xí),還可以作為相關(guān)高校及培訓(xùn)機(jī)構(gòu)虛擬現(xiàn)實(shí)與增強(qiáng)現(xiàn)實(shí)相關(guān)專業(yè)的教材或參考書。
單美賢,南京郵電大學(xué)教育科學(xué)技術(shù)學(xué)院教授。從教超過(guò)20年,擁有豐富的從教經(jīng)驗(yàn)。編寫過(guò)多部專著、教材等,寫作經(jīng)驗(yàn)豐富。曾獲"江蘇高校第九屆哲學(xué)社會(huì)科學(xué)研究?jī)?yōu)秀成果獎(jiǎng)二等獎(jiǎng)(2014.7)、江蘇高校第八屆哲學(xué)社會(huì)科學(xué)研究?jī)?yōu)秀成果獎(jiǎng)二等獎(jiǎng)(2012.11)、江蘇省第三屆教育科學(xué)優(yōu)秀成果獎(jiǎng)三等獎(jiǎng)(2011.11)、江蘇省高校教學(xué)管理研究會(huì)優(yōu)秀論文二等獎(jiǎng)(2013.7)、2012年度南京郵電大學(xué)先進(jìn)工作者”等多項(xiàng)獎(jiǎng)勵(lì)。
第1 章 緒論 ......................................... 1
1.1 VR 與AR 的概念 .................................. 1
1.1.1 VR 的定義 ................................. 1
1.1.2 VR 的特點(diǎn) ................................. 2
1.1.3 AR 的定義 ................................. 3
1.1.4 AR 的特點(diǎn) ................................. 4
1.1.5 MR 和XR 的定義 ..................... 4
1.2 VR 的發(fā)展歷史 ..................................... 6
1.2.1 探索階段 ................................... 6
1.2.2 萌芽階段 ................................... 8
1.2.3 發(fā)展階段 ................................... 9
1.2.4 成熟階段 ................................. 10
1.3 AR 的發(fā)展歷史 ................................... 12
1.4 VR 系統(tǒng)與AR 系統(tǒng)的組成 ................ 13
1.4.1 VR 系統(tǒng)的組成 ....................... 13
1.4.2 VR 系統(tǒng)的生成設(shè)備 ............... 14
1.4.3 VR 系統(tǒng)的輸入設(shè)備 ............... 17
1.4.4 VR 系統(tǒng)的輸出設(shè)備 ............... 24
1.4.5 AR 系統(tǒng)的組成 ....................... 32
1.5 VR 技術(shù)與AR 技術(shù)的應(yīng)用 ................ 34
1.5.1 VR 技術(shù)的應(yīng)用 ....................... 34
1.5.2 AR 技術(shù)的應(yīng)用 ....................... 37
1.6 數(shù)字孿生 .............................................. 39
1.6.1 數(shù)字孿生的概念 ..................... 39
1.6.2 數(shù)字孿生與仿真的區(qū)別 .......... 40
1.6.3 數(shù)字孿生與VR 的區(qū)別 .......... 41
1.7 元宇宙 ................................................. 41
1.7.1 元宇宙的概念 ......................... 42
1.7.2 元宇宙與VR 的區(qū)別 .............. 43
本章小結(jié) ...................................................... 44
習(xí)題 ............................................................ 44
第2 章 VR 系統(tǒng)的關(guān)鍵技術(shù) ............... 45
2.1 VR 中的計(jì)算機(jī)圖形學(xué)基礎(chǔ) ............... 45
2.1.1 坐標(biāo)系 ..................................... 46
2.1.2 視圖變換 ................................. 47
2.1.3 渲染管線 ................................. 55
2.2 VR 建模方法 ....................................... 58
2.2.1 基于幾何圖形繪制的
建模方法 ................................. 58
2.2.2 基于圖像繪制的建模方法 ...... 64
2.2.3 基于圖形與圖像的
混合建模方法 ......................... 68
2.2.4 虛擬場(chǎng)景建模方法的對(duì)比 ...... 69
2.3 VR 內(nèi)核引擎與開發(fā)平臺(tái) ................... 70
2.3.1 內(nèi)核引擎 ................................. 70
2.3.2 開發(fā)平臺(tái) ................................. 74
本章小結(jié) ...................................................... 76
習(xí)題 ............................................................ 76
第3 章 77
Unity 的開發(fā)環(huán)境.................................. 77
3.1 Unity 的簡(jiǎn)介 ....................................... 77
3.1.1 Unity 的發(fā)展歷史 ................... 77
3.1.2 Unity 的特色 ........................... 78
3.1.3 Unity 的應(yīng)用領(lǐng)域 ................... 79
3.2 Unity 的下載與安裝 ............................ 81
3.2.1 Unity 的主要版本 ................... 81
3.2.2 Unity Hub 的下載與安裝 ........ 82
3.2.3 Unity 的版本選擇 ................... 84
3.2.4 首次運(yùn)行Unity 軟件 .............. 84
3.3 Unity 的窗口布局 ................................ 86
3.3.1 窗口布局 ................................. 87
3.3.2 工具欄 ..................................... 88
3.3.3 常用工作視圖 ......................... 89
3.4 實(shí)例演示:創(chuàng)建靜態(tài)虛擬人物 .......... 93
3.4.1 利用基本物體創(chuàng)建
靜態(tài)虛擬人物 ......................... 93
3.4.2 綁定攝像機(jī)以實(shí)現(xiàn)第一
人稱視角的簡(jiǎn)單運(yùn)動(dòng) .............. 95
3.5 在Unity 項(xiàng)目中導(dǎo)入資源 ................... 96
3.5.1 本地資源導(dǎo)入 ......................... 97
3.5.2 在線資源導(dǎo)入 ......................... 97
本章小結(jié) ...................................................... 99
習(xí)題 ............................................................ 99
第4 章 Unity 中的地形 ..................... 100
4.1 Unity 地形編輯工具 .......................... 100
4.1.1 在Unity 中創(chuàng)建地形 ............ 100
4.1.2 地形編輯工具 ....................... 102
4.1.3 地形設(shè)置 ............................... 102
4.1.4 繪制地形 ............................... 103
4.1.5 繪制樹木與花草 ................... 106
4.1.6 添加水效果 ........................... 107
4.2 Unity 制作地形的常用插件 .............. 108
4.2.1 Gaia ........................................ 108
4.2.2 TerrainComposer2 ................. 109
4.2.3 WorldComposer ..................... 109
4.2.4 利用在線資源商店
構(gòu)建地形 ............................... 110
本章小結(jié) .................................................... 113
習(xí)題 .......................................................... 113
補(bǔ)充:導(dǎo)入環(huán)境資源包錯(cuò)誤處理 ............. 113
第5 章 材質(zhì)基礎(chǔ) .............................. 116
5.1 基本概念 ........................................... 116
5.1.1 材質(zhì)的概念 ........................... 116
5.1.2 著色器的概念 ....................... 117
5.1.3 紋理的概念 ........................... 117
5.1.4 基于物理的渲染:PBR 理論 117
5.1.5 材質(zhì)、著色器與紋理的關(guān)系 118
5.2 使用方法 ........................................... 119
5.2.1 材質(zhì)的使用方法 ................... 120
5.2.2 標(biāo)準(zhǔn)著色器的使用方法 ........ 121
5.2.3 紋理的使用方法 ................... 125
5.3 Unity 的內(nèi)置著色器 .......................... 128
5.3.1 天空盒 ................................... 128
5.3.2 粒子系統(tǒng) ............................... 132
5.3.3 Unlit 渲染管線 ...................... 136
本章小結(jié) .................................................... 137
第6 章 Unity 中的光照 ..................... 138
6.1 Unity 光照 ......................................... 138
6.1.1 基本燈光的共有屬性 ............ 138
6.1.2 平行光 ................................... 139
6.1.3 點(diǎn)光源 ................................... 140
6.1.4 聚光燈 ................................... 140
6.2 光照貼圖 ............................................ 141
6.2.1 什么是光照信息.................... 141
6.2.2 直接光照與間接光照 ............ 142
6.2.3 Unity 中的全局光照技術(shù) ...... 143
6.3 “Lighting”窗口 .............................. 144
6.3.1 “Scene”選項(xiàng)卡 .................. 145
6.3.2 “Environment”選項(xiàng)卡 ....... 147
6.3.3 “Realtime Lightmaps”
選項(xiàng)卡 ................................... 149
6.3.4 “Baked Lightmaps”
選項(xiàng)卡 ................................... 150
6.4 Unity 中烘焙光照案例的實(shí)現(xiàn) .......... 150
6.4.1 搭建烘焙光照測(cè)試場(chǎng)景 ........ 150
6.4.2 設(shè)置游戲?qū)ο髤⑴c
烘焙光照貼圖 ....................... 151
6.4.3 設(shè)置Lighting Settings
參數(shù) ....................................... 151
6.5 光照探針 ............................................ 152
6.5.1 光照探針的用途.................... 153
6.5.2 光照探針組 ........................... 153
本章小結(jié) .................................................... 154
第7 章 Unity 腳本編程 ..................... 155
7.1 C#程序設(shè)計(jì)基礎(chǔ) ............................... 155
7.1.1 C#語(yǔ)言的數(shù)據(jù)類型 ............... 155
7.1.2 C#語(yǔ)言的運(yùn)算符與表達(dá)式 ... 160
7.1.3 C#語(yǔ)言的程序控制語(yǔ)句 ....... 160
7.2 Hello World:你的首個(gè)程序 ............ 162
7.2.1 創(chuàng)建新項(xiàng)目 ........................... 162
7.2.2 創(chuàng)建C#腳本 .......................... 163
7.2.3 運(yùn)行C#腳本 .......................... 165
7.2.4 Start()與Update()函數(shù)的
區(qū)別 ....................................... 166
7.2.5 Unity 中默認(rèn)函數(shù)的執(zhí)行
順序 ....................................... 167
7.3 C#語(yǔ)言的類與對(duì)象 ........................... 169
7.3.1 在Unity 中理解類與對(duì)象 .... 169
7.3.2 類與對(duì)象 ............................... 170
7.4 Unity 的重要變量類型 ...................... 173
7.4.1 Vector3 ................................... 173
7.4.2 Color ...................................... 174
7.4.3 Screen .................................... 175
7.4.4 GameObject ........................... 176
7.5 GameObject 及其組件 ...................... 176
7.5.1 Transform 組件 ...................... 177
7.5.2 Mesh Filter 組件 .................... 179
7.5.3 Script 組件 ............................. 180
7.6 Unity 的物理系統(tǒng) ............................. 180
7.6.1 RigidBody 組件 ..................... 180
7.6.2 Collider 組件 ......................... 181
7.6.3 碰撞檢測(cè)與觸發(fā)檢測(cè)............ 183
7.6.4 綜合練習(xí)—發(fā)射小球游戲 184
本章小結(jié) .................................................... 190
習(xí)題 .......................................................... 190
第8 章 UI 系統(tǒng) ................................. 192
8.1 Canvas 組件 ....................................... 192
8.1.1 渲染模式 ............................... 193
8.1.2 自適應(yīng)屏幕 ........................... 193
8.1.3 錨點(diǎn)及其對(duì)齊方式 ............... 194
8.1.4 Canvas 優(yōu)化 ........................... 195
8.2 基礎(chǔ)元素 ........................................... 195
8.2.1 Text 組件 ............................... 195
8.2.2 Image 組件 ............................ 196
8.2.3 Raw Image 組件 .................... 197
8.2.4 Button 組件............................ 198
8.2.5 InputField 組件 ...................... 201
8.2.6 場(chǎng)景管理 ............................... 203
8.3 EventSystem 組件 .............................. 206
8.3.1 輸入模塊 ............................... 206
8.3.2 UI 事件 .................................. 207
8.3.3 UI 事件管理 .......................... 208
8.4 GUI .................................................... 210
8.4.1 使用GUI 創(chuàng)建控件 .............. 210
8.4.2 GUI 基本控件 ....................... 213
8.4.3 GUILayout 自動(dòng)布局 ............ 215
本章小結(jié) .................................................... 217
習(xí)題 .......................................................... 217
第9 章 Unity 數(shù)據(jù)的讀取 ................. 218
9.1 JSON 文件操作 ................................. 218
9.1.1 JSON 的基本語(yǔ)法 ................. 218
9.1.2 創(chuàng)建JSON 文件 .................... 219
9.1.3 讀取JSON 數(shù)據(jù) .................... 221
9.1.4 解析JSON 數(shù)據(jù) .................... 222
9.1.5 修改JSON 數(shù)據(jù) .................... 223
9.2 本地?cái)?shù)據(jù)持久化類 ............................ 224
9.2.1 PlayerPrefs ............................. 225
9.2.2 PlayerPrefs 保存
復(fù)雜結(jié)構(gòu) ............................... 226
9.2.3 運(yùn)行期間讀寫文本 ................ 227
9.3 XML 文件操作 .................................. 229
9.3.1 創(chuàng)建XML 文件 ..................... 229
9.3.2 讀取XML 數(shù)據(jù) ..................... 231
9.3.3 修改XML 數(shù)據(jù) ..................... 232
本章小結(jié) .................................................... 233
習(xí)題 .......................................................... 233
第10 章 3D 游戲原型:
《小鳥吃金幣》 ................... 234
10.1 項(xiàng)目準(zhǔn)備工作 .................................. 234
10.1.1 創(chuàng)建游戲?qū)ο?..................... 235
10.1.2 攝像機(jī)位置 ......................... 238
10.1.3 設(shè)置游戲面板 ..................... 240
10.1.4 游戲?qū)ο蟮膭?dòng)作流程圖 ...... 240
10.2 小鳥運(yùn)動(dòng) ......................................... 241
10.2.1 小鳥飛行 ............................. 241
10.2.2 攝像機(jī)跟隨小鳥運(yùn)動(dòng) .......... 243
10.2.3 音樂(lè)片段播放 ..................... 244
10.2.4 小鳥碰撞到障礙物 ............. 245
10.3 小鳥吃金幣...................................... 247
10.3.1 隨機(jī)生成金幣 ..................... 248
10.3.2 統(tǒng)計(jì)小鳥吃到的金幣數(shù) ...... 249
10.3.3 為當(dāng)前場(chǎng)景保存一個(gè)
副本 ..................................... 251
10.4 圖形用戶界面和游戲管理 .............. 251
10.4.1 計(jì)分器界面 ......................... 251
10.4.2 吃到金幣時(shí)加分 ................. 252
10.4.3 游戲失敗界面 ..................... 253
10.4.4 彈出游戲失敗界面 ............. 254
10.4.5 添加最高分紀(jì)錄 ................. 257
10.4.6 PlayerPrefs ........................... 258
10.5 項(xiàng)目導(dǎo)出設(shè)置 .................................. 259
本章小結(jié) .................................................... 261
習(xí)題 .......................................................... 261
第11 章 HTC VIVE 平臺(tái)的
VR 開發(fā)基礎(chǔ) ...................... 262
11.1 HTC VIVE 的簡(jiǎn)介 .......................... 262
11.1.1 HTC VIVE 設(shè)備 .................. 263
11.1.2 HTC VIVE 技術(shù) .................. 264
11.1.3 HTC VIVE 應(yīng)用軟件 .......... 265
11.2 VR 項(xiàng)目的開發(fā)基礎(chǔ) ....................... 269
11.2.1 HTC VIVE 設(shè)備連接 .......... 269
11.2.2 VR 項(xiàng)目的開發(fā)流程 ........... 270
11.2.3 VR 項(xiàng)目開發(fā)的輔助工具 ... 271
11.3 第一個(gè)HTC VIVE 項(xiàng)目 .................. 272
11.3.1 設(shè)置SteamVR ..................... 272
11.3.2 設(shè)置HTC VIVE .................. 273
11.3.3 體驗(yàn)VR ............................... 277
11.4 使用Unity 進(jìn)行VR 交互開發(fā) ....... 278
11.4.1 使用OpenVR 實(shí)現(xiàn)
瞬間移動(dòng) ............................. 278
11.4.2 使用VRTK 實(shí)現(xiàn)物體
抓取 ..................................... 285
11.4.3 使用XR Interaction Toolkit
實(shí)現(xiàn)UI 觸控交互 ............... 288
本章小結(jié) .................................................... 292
第12 章 AR 應(yīng)用的開發(fā)基礎(chǔ) ........... 293
12.1 AR 系統(tǒng)的結(jié)構(gòu)與核心技術(shù) ........... 293
12.1.1 AR 系統(tǒng)的基本結(jié)構(gòu) ........... 293
12.1.2 AR 系統(tǒng)的顯示技術(shù) ........... 294
12.1.3 AR 系統(tǒng)的跟蹤注冊(cè)技術(shù) ..... 296
12.2 Vuforia ............................................. 298
12.2.2 Vuforia 平臺(tái)組件 ................ 299
12.2.1 AR 應(yīng)用的開發(fā)插件 ........... 299
12.2.3 Vuforia 開發(fā)環(huán)境的搭建 .... 300
12.3 Vuforia 的核心功能 ........................ 302
12.3.1 圖像識(shí)別 ............................. 302
12.3.2 多目標(biāo)識(shí)別 ......................... 303
12.3.3 云識(shí)別 ................................. 304
12.3.4 水平面識(shí)別 ......................... 304
12.4 Vuforia 官方案例 ............................ 305
12.4.1 下載官方案例 ..................... 305
12.4.2 AR Camera .......................... 306
12.5 使用Vuforia 制作AR 項(xiàng)目 ............ 307
12.5.1 添加許可密鑰 ..................... 307
12.5.2 Target Manager .................... 309
12.5.3 創(chuàng)建一個(gè)ImageTarget ........ 312
本章小結(jié) .................................................... 313
習(xí)題 .......................................................... 313
附錄A 簡(jiǎn)易第一人稱控制器的實(shí)現(xiàn) .. 314
A.1 了解角色控制器與輸入管理器 ....... 314
A.2 創(chuàng)建項(xiàng)目與搭建場(chǎng)景 ....................... 315
A.3 腳本實(shí)現(xiàn)FPS Controller .................. 316
參考文獻(xiàn) ......................................... 319