HoloLens 2 開發入門精要 — 基於 Unity 和 MRTK
汪祥春
- 出版商: 清華大學
- 出版日期: 2021-12-01
- 售價: $654
- 貴賓價: 9.5 折 $621
- 語言: 簡體中文
- 頁數: 368
- 裝訂: 平裝
- ISBN: 7302589917
- ISBN-13: 9787302589914
-
相關分類:
遊戲引擎 Game-engine
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
$480$379 -
$800$632 -
$940$700 -
$560$476 -
$690$545 -
$454AR / VR 技術與應用 — 基於 Unity 3D / ARKit / ARCore (微課視頻版)
-
$294$279 -
$500$390 -
$454Wi-Fi 6:入門到應用
-
$588$559 -
$654$621 -
$352虛擬現實開發基礎
-
$330$297 -
$768$730 -
$600$468 -
$454虛擬化 KVM 進階實踐
-
$1,015智能交通系統:技術與應用
-
$450$405 -
$708$673 -
$350$315 -
$654$621 -
$458Unity 3D可視化VR應用開發實戰(零代碼版·微課視頻版)
-
$485VR/AR 應用開發 (Unity 3D)
-
$654$621 -
$474$450
相關主題
商品描述
本書主要講述利用Unity和MRTK進行HoloLens2設備上的MR應用開發,
對MR應用開發中涉及的技術進行了全方位的講述,用語通俗易懂,闡述深入淺出。
本書共分4個部分:
第一部分為基礎篇,包括第1章和第2章,本篇從混合現實概念入手,簡述HoloLens2設備的技術特性、
基本開發步驟及調試部署、MRTK體系架構、配置文件使用等基礎知識,立意高屋建瓴,
通過對HoloLens2設備和MRTK的介紹,希望讀者對在HoloLens2設備上進行MR應用開發有一個初步的印象;
第二部分為操作組件篇,包括第3~5章,
本篇主要闡述對HoloLens2設備功能特性的基本開發及操作、系統講解MRTK提供的各類功能組件和UX控件操作使用;
第三部分為功能技術篇,包括第6~12章,本篇針對HoloLens2設備上的MR應用開發進行深入全面闡述、剖析講解,
力圖從原理到實踐,全方位覆蓋MR應用開發技術方方面面,每章節都配有詳盡的可執行代碼及代碼的詳細說明;
第四部分為提高篇,包括第13章和第14章,本篇不僅討論MR應用與普通應用的區別,
也指出在MR應用開發中應該註意的事項,提出了在MR應用開發中應該遵循的基本原則,
並對如何排查MR應用性能問題及基本性能優化原則進行了比較深入的探究。
本書面向MR應用開發初學者與Unity工程師,也可以作為高校、
大專院校相關專業師生的學慣用書,以及培訓學校的培訓教材。
目錄大綱
目 錄
CONTENTS
基礎篇
第 1章 HoloLens 2基礎 ………………………………………………………………………… 3
1.1 混合現實技術概述 ……………………………………………………………………… 3
1.1.1 MR概念 ………………………………………………………………………… 3
1.1.2 全息圖 ……………………………………………………………………………
5 1.2 HoloLens 2設備 ………………………………………………………………………… 5
1.3 MR技術原理 …………………………………………………………………………… 8
1.3.1 傳感器數據 ……………………………………………………………………… 8
1.3.2 前端里程計 …………………………………………………………………… 10
1.3.3 後端優化 ……………………………………………………………………… 10
1.3.4 回環檢測 ……………………………………………………………………… 11
1.3.5 建圖 …………………………………………………………………………… 11
1.4 開發環境準備 ………………………………………………………………………… 12
1.4.1 所需硬件和軟件 ……………………………………………………………… 12
1.4.2 軟件安裝 ……………………………………………………………………… 13
1.4.3 軟件配置 ……………………………………………………………………… 15
1.5 MR應用開發初體驗 ………………………………………………………………… 16
1.5.1 創建工程 ……………………………………………………………………… 16
1.5.2 直接導入 MRTK工具包 ……………………………………………………… 17
1.5.3 使用 UPM導入 MRTK工具包 ……………………………………………… 18
1.5.4 使用 MRFT導入 MRTK工具包 ……………………………………………… 20
1.5.5 導入 TextMeshPro工具包 …………………………………………………… 20
1.5.6 配置 Unity項目 ……………………………………………………………… 21
1.5.7 創建和設置場景 ……………………………………………………………… 23
1.5.8 導出 Unity工程 ……………………………………………………………… 23
1.5.9 部署到 HoloLens 2設備 ……………………………………………………… 23
HoloLens 2開發入門精要——基於 Unity和 MRTK
1.5.10 發布 MR應用 ………………………………………………………………… 26
1.6 使用模擬器 …………………………………………………………………………… 27
1.7 MRTK輸入模擬 ……………………………………………………………………… 29
1.8 設備能力檢查 ………………………………………………………………………… 31
第 2章 MRTK基礎 …………………………………………………………………………… 33
2.1 MRTK概述 …………………………………………………………………………… 33
2.2 MRTK體系架構 ……………………………………………………………………… 34
2.2.1 配置文件 ……………………………………………………………………… 36
2.2.2 運行時 ………………………………………………………………………… 36
2.2.3 服務 …………………………………………………………………………… 36
2.2.4 擴展服務 ……………………………………………………………………… 39
2.2.5 數據提供者 …………………………………………………………………… 41
2.3 配置文件 ……………………………………………………………………………… 43
2.3.1 配置文件概述 ………………………………………………………………… 44
2.3.2 配置指南 ……………………………………………………………………… 46
操作組件篇
第 3章基本特性操作與開發…………………………………………………………………… 61
3.1 HoloLens 2設備門戶 ………………………………………………………………… 61
3.1.1 連接設備門戶 ………………………………………………………………… 61
3.1.2 功能簡介 ……………………………………………………………………… 62
3.2 研究模式 ……………………………………………………………………………… 67
3.3 圖像與視頻捕獲 ……………………………………………………………………… 68
3.3.1 在設備中直接操作 …………………………………………………………… 68
3.3.2 在設備門戶中操作 …………………………………………………………… 68
3.3.3 代碼操作 ……………………………………………………………………… 69
3.4 全息遠端呈現 ………………………………………………………………………… 81
3.4.1 在 Unity編輯器中使用全息遠端呈現 ……………………………………… 81
3.4.2 MR應用程序使用全息遠端呈現 …………………………………………… 82
3.5 診斷系統 ……………………………………………………………………………… 84
3.6 動態 GLTF格式模型加載 …………………………………………………………… 86
3.7 多場景管理 …………………………………………………………………………… 88
3.7.1 場景系統配置 ………………………………………………………………… 88
3.7.2 場景加載與卸載 ……………………………………………………………… 90
3.7.3 場景加載進度與事件 ………………………………………………………… 91
第 4章交互與事件……………………………………………………………………………… 95
4.1 Bounds Control ………………………………………………………………………… 95
4.1.1 基本操作 ……………………………………………………………………… 96
4.1.2 HoloLens 2風格 ……………………………………………………………… 101
4.1.3 事件 …………………………………………………………………………… 103
4.1.4 使用代碼操作 ………………………………………………………………… 103
4.2 Object Manipulator …………………………………………………………………… 105
4.2.1 基本操作 ……………………………………………………………………… 105
4.2.2 事件 …………………………………………………………………………… 108
4.3 Constraint Manager …………………………………………………………………… 108
4.3.1 基本操作 ……………………………………………………………………… 108
4.3.2 約束組件 ……………………………………………………………………… 109
4.4 Interactable……………………………………………………………………………… 111
4.4.1 基本操作 ……………………………………………………………………… 111
4.4.2 Interactable 配置節 …………………………………………………………… 114
4.4.3 事件 …………………………………………………………………………… 115
4.4.4 視覺主題 ……………………………………………………………………… 116
4.4.5 代碼操作 ……………………………………………………………………… 122
4.5 Solvers ………………………………………………………………………………… 124
4.5.1 解算器基礎 …………………………………………………………………… 124
4.5.2 標準解算器 …………………………………………………………………… 126
4.6 手指手掌可視化 ……………………………………………………………………… 130
4.6.1 Fingertip Visualization ………………………………………………………… 130
4.6.2 RiggedHandVisualizer ………………………………………………………… 131
4.6.3 ArticulatedHandMeshPulse …………………………………………………… 132
4.7 Elastic System ………………………………………………………………………… 133
4.8 Dock …………………………………………………………………………………… 134
第 5章 UX控件 ………………………………………………………………………………… 136
5.1 按鈕 …………………………………………………………………………………… 136
5.1.1 按鈕的使用 …………………………………………………………………… 138
5.1.2 自定義按鈕 …………………………………………………………………… 141
HoloLens 2開發入門精要——基於 Unity和 MRTK
5.2 Slate面板 ……………………………………………………………………………… 143
5.3 系統鍵盤 ……………………………………………………………………………… 144
5.4 ToolTips ………………………………………………………………………………… 144
5.5 Sliders ………………………………………………………………………………… 145
5.6 近身菜單 ……………………………………………………………………………… 146
5.7 應用程序欄 …………………………………………………………………………… 148
5.8 進度指示器 …………………………………………………………………………… 148
5.9 對話框 ………………………………………………………………………………… 150
5.10 手勢引導 ……………………………………………………………………………… 151
5.10.1 HandInteractionhint組件 …………………………………………………… 152
5.10.2 MoveToTarget組件 ………………………………………………………… 153
5.10.3 RotateAroundPoint組件 …………………………………………………… 154
功能技術篇
第 6章空間感知和映射………………………………………………………………………… 157
6.1 運動跟蹤 ……………………………………………………………………………… 157
6.2 空間感知 ……………………………………………………………………………… 161
6.3 空間感知代碼操作 …………………………………………………………………… 164
6.4 開發環境中測試空間感知 …………………………………………………………… 168
6.5 射線檢測 ……………………………………………………………………………… 169
6.6 場景理解和語義 ……………………………………………………………………… 172
6.6.1 場景理解基礎 ………………………………………………………………… 172
6.6.2 場景理解使用 ………………………………………………………………… 175
6.7 空間感知和場景理解的應用 ………………………………………………………… 178
6.7.1 虛擬物體放置 ………………………………………………………………… 179
6.7.2 遮擋 …………………………………………………………………………… 180
6.7.3 物理模擬 ……………………………………………………………………… 181
6.7.4 導航和路徑規劃 ……………………………………………………………… 181
第 7章手勢操作與交互………………………………………………………………………… 182
7.1 手勢輸入配置 ………………………………………………………………………… 182
7.1.1 輸入數據提供者 ……………………………………………………………… 183
7.1.2 手部跟蹤 ……………………………………………………………………… 183
7.1.3 手部指針 ……………………………………………………………………… 184
7.2 指針概述 ……………………………………………………………………………… 185
7.3 指針基本操作 ………………………………………………………………………… 187
7.4 手勢操作 ……………………………………………………………………………… 192
7.4.1 近端操作 ……………………………………………………………………… 192
7.4.2 遠端操作 ……………………………………………………………………… 195
7.5 手部跟蹤 ……………………………………………………………………………… 196
7.5.1 獲取手部姿態 ………………………………………………………………… 197
7.5.2 獲取手部關節 ………………………………………………………………… 198
7.5.3 獲取手部網格 ………………………………………………………………… 199
7.5.4 手部關節使用演示 …………………………………………………………… 200
7.6 手勢錄制和回放 ……………………………………………………………………… 201
7.6.1 手勢錄制 ……………………………………………………………………… 202
7.6.2 手勢回放 ……………………………………………………………………… 204
7.7 手部菜單 ……………………………………………………………………………… 204
第 8章語音與交互……………………………………………………………………………… 208
8.1 語音命令 ……………………………………………………………………………… 208
8.1.1 打開話筒功能特性 …………………………………………………………… 208
8.1.2 設置語音命令關鍵詞 ………………………………………………………… 209
8.1.3 監聽並處理事件 ……………………………………………………………… 209
8.1.4 自定義語音命令處理邏輯 …………………………………………………… 210
8.2 語音識別 ……………………………………………………………………………… 211
8.2.1 添加語音識別數據提供者 …………………………………………………… 212
8.2.2 監聽並處理事件 ……………………………………………………………… 212
8.2.3 自定義語音命令處理 ………………………………………………………… 213
第 9章眼動跟蹤與凝視交互…………………………………………………………………… 215
9.1 眼動校準 ……………………………………………………………………………… 215
9.2 眼動跟蹤配置 ………………………………………………………………………… 217
9.2.1 啟用凝視輸入功能特性 ……………………………………………………… 217
9.2.2 添加凝視數據提供者 ………………………………………………………… 218
9.2.3 設置眼動跟蹤參數 …………………………………………………………… 218
9.3 凝視功能使用 ………………………………………………………………………… 220
9.4 獲取凝視數據 ………………………………………………………………………… 220
HoloLens 2開發入門精要——基於 Unity和 MRTK
第 10章光影與特效 …………………………………………………………………………… 223
10.1 光照 …………………………………………………………………………………… 223
10.1.1 光源 ………………………………………………………………………… 224
10.1.2 光與材質的交互 …………………………………………………………… 224
10.1.3 光照模型 …………………………………………………………………… 225
10.1.4 懸浮燈光 …………………………………………………………………… 226
10.1.5 接近燈光 …………………………………………………………………… 228
10.2 MRTK標準著色器 …………………………………………………………………… 228
10.2.1 模型切割 …………………………………………………………………… 230
10.2.2 輪廓線 ……………………………………………………………………… 232
10.2.3 擠出與模板測試 …………………………………………………………… 234
10.3 環境反射 ……………………………………………………………………………… 235
10.3.1 立方體貼圖 ………………………………………………………………… 235
10.3.2 環境反射與光照估計 ……………………………………………………… 236
10.4 陰影 …………………………………………………………………………………… 237
第 11章 3D文字與音視頻……………………………………………………………………… 241
11.1 3D文字 ……………………………………………………………………………… 241
11.1.1 文字單位換算 ……………………………………………………………… 241
11.1.2 中文字體製作 ……………………………………………………………… 242
11.2 3D聲頻 ……………………………………………………………………………… 243
11.2.1 3D聲場原理 ………………………………………………………………… 244
11.2.2 3D空間音效簡單使用 ……………………………………………………… 244
11.2.3 運行時啟用和禁用 3D音效………………………………………………… 248
11.2.4 UX元素音效 3D化 ………………………………………………………… 249
11.2.5 使用回響營造空間感 ……………………………………………………… 250
11.2.6 3D音效設計原則 …………………………………………………………… 252
11.3 3D視頻 ……………………………………………………………………………… 254
11.3.1 VideoPlayer組件 …………………………………………………………… 254
11.3.2 視頻音效空間化 …………………………………………………………… 258
第 12章空間錨點與 Azure雲服務 …………………………………………………………… 259
12.1 Azure雲服務概述 …………………………………………………………………… 259
12.2 空間錨點 ……………………………………………………………………………… 260
12.2.1 錨點概述 …………………………………………………………………… 260
12.2.2 本地錨點 …………………………………………………………………… 262
12.2.3 本地錨點持久化與傳輸 …………………………………………………… 266
12.2.4 雲錨點 ……………………………………………………………………… 268
12.3 遠程渲染 ……………………………………………………………………………… 278
12.4 小結 …………………………………………………………………………………… 287
提高篇
第 13章設計指南 ……………………………………………………………………………… 291
13.1 MR應用設計挑戰 …………………………………………………………………… 291
13.2 MR應用設計的一般原則 …………………………………………………………… 294
13.2.1 舒適性 ……………………………………………………………………… 295
13.2.2 顯示呈現 …………………………………………………………………… 299
13.2.3 UX設計 …………………………………………………………………… 302
13.2.4 3D音效 ……………………………………………………………………… 305
13.2.5 視覺效果 …………………………………………………………………… 306
13.2.6 真實感 ……………………………………………………………………… 308
13.2.7 跟蹤丟失 …………………………………………………………………… 313
13.3 MR應用交互設計指南 ……………………………………………………………… 313
13.3.1 指示光標 …………………………………………………………………… 313
13.3.2 可交互對象 ………………………………………………………………… 315
13.3.3 本能交互 …………………………………………………………………… 318
13.3.4 手勢交互 …………………………………………………………………… 319
13.3.5 語音交互 …………………………………………………………………… 325
13.3.6 凝視交互 …………………………………………………………………… 328
第 14章性能優化 ……………………………………………………………………………… 331
14.1 性能優化基礎 ………………………………………………………………………… 331
14.1.1 影響性能的主要因素 ……………………………………………………… 331
14.1.2 MR應用常用調試方法 …………………………………………………… 333
14.1.3 MR應用性能優化的一般原則 …………………………………………… 334
14.2 MR應用性能調試工具 ……………………………………………………………… 335
14.2.1 Unity分析器 ………………………………………………………………… 335
14.2.2 幀調試器 …………………………………………………………………… 338
14.3 Unity分析器使用 …………………………………………………………………… 340
HoloLens 2開發入門精要——基於 Unity和 MRTK
14.3.1 CPU使用情況分析器 ……………………………………………………… 340
14.3.2 渲染情況分析器 …………………………………………………………… 341
14.3.3 內存使用情況分析器 ……………………………………………………… 342
14.3.4 物理分析器 ………………………………………………………………… 342
14.3.5 聲頻視頻分析器 …………………………………………………………… 343
14.4 性能優化的一般步驟 ………………………………………………………………… 344
14.4.1 收集運行數據 ……………………………………………………………… 345
14.4.2 分析運行數據 ……………………………………………………………… 346
14.4.3 確定問題的原因 …………………………………………………………… 348
14.5 渲染優化 ……………………………………………………………………………… 350
14.5.1 渲染流程 …………………………………………………………………… 351
14.5.2 CPU瓶頸 …………………………………………………………………… 351
14.5.3 GPU瓶頸 …………………………………………………………………… 354
14.6 代碼優化 ……………………………………………………………………………… 356
14.6.1 內存管理 …………………………………………………………………… 356
14.6.2 垃圾回收 …………………………………………………………………… 357
14.6.3 對象池 ……………………………………………………………………… 362
14.6.4 常見影響性能的代碼優化策略 …………………………………………… 363
14.7 MRTK優化設置……………………………………………………………………… 365
14.7.1 UI/UX優化 ………………………………………………………………… 365
14.7.2 常用優化設置 ……………………………………………………………… 366
14.7.3 MR應用開發一般註意事項 ……………………………………………… 368
附錄 A 更多資源………………………………………………………………………………… 369
參考文獻…………………………………………………………………………………………… 370