HoloLens 2開發入門精要——基於Unity和MRTK

《HoloLens 2開發入門精要——基於Unity和MRTK》是清華大學出版社2021年出版的書籍。

基本介紹

  • 中文名:HoloLens 2開發入門精要——基於Unity和MRTK
  • 作者:汪祥春
  • 出版社:清華大學出版社
  • ISBN:9787302589914
  • 定價:109
內容簡介,圖書目錄,

內容簡介

本書主要講述利用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工程師,也可以作為高校、大專院校相關專業師生的學習用書,以及培訓學校的培訓教材。

圖書目錄

基礎篇
第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

熱門詞條

聯絡我們