AR Foundation 增強現實開發實戰 (ARCore版)

汪祥春

  • 出版商: 清華大學
  • 出版日期: 2022-09-01
  • 售價: $654
  • 貴賓價: 9.5$621
  • 語言: 簡體中文
  • ISBN: 7302612188
  • ISBN-13: 9787302612186
  • 相關分類: VR/AR
  • 立即出貨 (庫存 < 4)

  • AR Foundation 增強現實開發實戰 (ARCore版)-preview-1
  • AR Foundation 增強現實開發實戰 (ARCore版)-preview-2
  • AR Foundation 增強現實開發實戰 (ARCore版)-preview-3
AR Foundation 增強現實開發實戰 (ARCore版)-preview-1

買這商品的人也買了...

商品描述

本書基於AR Foundation框架,採用URP渲染管線,講述利用ARCore進行Android平臺的AR應用開發,從AR技術概念、原理、理論脈絡到各功能技術點、Android與Unity交互通信、設計原則、性能優化,對ARCore應用開發中涉及的技術進行了全方位的講述,用語通俗易懂,闡述深入淺出。 本書共分三個部分:第一部分為基礎篇,包括第1章至第3章,從最基礎的增強現實概念入手,通過一個實例闡述了AR開發從軟硬件準備、開發環境搭建、工程設置、發布部署全流程,探討了AR Foundation框架的技術基礎、常用組件,並著重探索了ARCore功能特性和運動跟蹤原理;第二部分為功能技術篇,包括第4章至第12章,對ARCore功能特性各方面進行了詳細探索討論,從平面檢測、圖像檢測、人臉檢測到雲錨點、光影特效等,全方位的進行了技術剖析、講解、演示。並對AR場景管理、圖像信息處理、3D文字聲頻視頻等實用功能進行了闡述和使用操作講解;第三部分為高級篇,包括第13章至第15章,主要闡述了Android與Unity交互通信、AR應用設計、性能優化相關主題,著力提升開發人員在AR應用開發時的實際應用能力和整體把握能力。 本書結構清晰、循序漸進、深淺兼顧,實例豐富,每個技術點都有案例,特別註重對技術原理和實際運用的講述,力圖解決讀者在項目開發中面臨的難點問題。 本書適合AR初學者、Unity開發人員、程序員、科研人員,也可以作為高校、大專院校相關專業師生的學慣用書,以及培訓學校的培訓教材。

目錄大綱

 

目 錄 

CONTENTS

基 礎 篇

第 1章 AR開發入門 ……………………………………………………………………………… 1 

1.1 增強現實技術概述 ……………………………………………………………………… 3 

1.1.1 AR概念 …………………………………………………………………………… 3 

1.1.2 AR技術應用……………………………………………………………………… 5 

1.2 AR技術原理……………………………………………………………………………… 6 

1.2.1 傳感器數據 ……………………………………………………………………… 6 

1.2.2 前端里程計 ……………………………………………………………………… 8 

1.2.3 後端優化 ………………………………………………………………………… 8 

1.2.4 回環檢測 ………………………………………………………………………… 8 

1.2.5 建圖 ……………………………………………………………………………… 9 

1.3 AR Foundation概述 …………………………………………………………………… 10 

1.3.1 AR Foundation與 ARCore …………………………………………………… 11 

1.3.2 AR Foundation支持的功能 …………………………………………………… 11 

1.3.3 AR Foundation功能概述 ……………………………………………………… 12 

1.3.4 AR Foundation體系架構概述 ………………………………………………… 13 

1.3.5 基本術語 ……………………………………………………………………… 13 

1.4 支持的設備 …………………………………………………………………………… 15 

1.5 開發環境準備 ………………………………………………………………………… 16 

1.5.1 所需硬件和軟件 ……………………………………………………………… 17 

1.5.2 軟件安裝 ……………………………………………………………………… 17 

1.6 ARCore初體驗 ………………………………………………………………………… 19 

1.6.1 工程創建 ……………………………………………………………………… 19 

1.6.2 工具包導入 …………………………………………………………………… 21 

1.6.3 工程設置 ……………………………………………………………………… 22 

1.6.4 環境搭建 ……………………………………………………………………… 24 

1.6.5 代碼編寫 ……………………………………………………………………… 27 

1.6.6 調試準備 ……………………………………………………………………… 29 

1.6.7 打包測試 ……………………………………………………………………… 30 

1.7 AR應用調試…………………………………………………………………………… 31

第 2章 AR Foundation基礎 …………………………………………………………………… 36 

2.1 AR Foundation體系架構 ……………………………………………………………… 36 

2.1.1 AR子系統概念………………………………………………………………… 37 

2.1.2 AR子系統使用………………………………………………………………… 38 

2.1.3 跟蹤子系統 …………………………………………………………………… 39 

2.2 AR Session & AR Session Origin ……………………………………………………… 40 

2.2.1 AR Session……………………………………………………………………… 40 

2.2.2  AR Session Origin……………………………………………………………… 43 

2.3 可跟蹤對象 …………………………………………………………………………… 45 

2.3.1 可跟蹤對象管理器 …………………………………………………………… 46 

2.3.2 可跟蹤對象事件 ……………………………………………………………… 47 

2.3.3 管理可跟蹤對象 ……………………………………………………………… 48 

2.4 會話管理 ……………………………………………………………………………… 49

第 3章 ARCore功能特性與開發基礎 ………………………………………………………… 52 

3.1 ARCore概述及主要功能 ……………………………………………………………… 52 

3.1.1 運動跟蹤 ……………………………………………………………………… 53 

3.1.2 環境理解 ……………………………………………………………………… 53 

3.1.3 光照估計 ……………………………………………………………………… 54 

3.1.4 ARCore的不足 ………………………………………………………………… 54 

3.2 運動跟蹤原理 ………………………………………………………………………… 56 

3.2.1 ARCore坐標系 ………………………………………………………………… 56 

3.2.2 ARCore運動跟蹤分類 ………………………………………………………… 56 

3.2.3 ARCore運動跟蹤 ……………………………………………………………… 58 

3.2.4 ARCore使用運動跟蹤的註意事項 …………………………………………… 60 

3.3 設備可用性檢查 ……………………………………………………………………… 61 

3.4 AR會話生命周期管理與跟蹤質量…………………………………………………… 62 

3.5 ARCore擴展包………………………………………………………………………… 65 

3.6 相機配置 ……………………………………………………………………………… 66 

3.7 會話錄制與回放 ……………………………………………………………………… 68 

3.7.1 AR Foundation錄制與回放 …………………………………………………… 69 

3.7.2 ARCore擴展錄制與回放 ……………………………………………………… 72 

3.8 即時放置 ……………………………………………………………………………… 78

功能技術篇

第 4章平面檢測與錨點管理…………………………………………………………………… 85 

4.1 平面檢測引導 ………………………………………………………………………… 85 

4.2 平面管理 ……………………………………………………………………………… 88 

4.2.1 平面檢測 ……………………………………………………………………… 88 

4.2.2 可視化平面 …………………………………………………………………… 89 

4.2.3 個性化渲染平面 ……………………………………………………………… 90 

4.2.4 開啟與關閉平面檢測功能 …………………………………………………… 95 

4.2.5 顯示與隱藏已檢測平面 ……………………………………………………… 97 

4.2.6 平面遮擋 ……………………………………………………………………… 99 

4.3 射線檢測 ……………………………………………………………………………… 100 

4.3.1 射線檢測概念 ………………………………………………………………… 100 

4.3.2 射線檢測詳細講解 …………………………………………………………… 102 

4.4 可視化放置點 ………………………………………………………………………… 104 

4.5 特徵點與點雲 ………………………………………………………………………… 106 

4.5.1 特徵點 ………………………………………………………………………… 107 

4.5.2 點雲 …………………………………………………………………………… 108 

4.5.3 點雲數據採集 ………………………………………………………………… 109 

4.6 錨點 …………………………………………………………………………………… 113

第 5章圖像檢測跟蹤…………………………………………………………………………… 118 

5.1 圖像檢測跟蹤基本操作 ……………………………………………………………… 118 

5.2 圖像跟蹤功能啟用與禁用 …………………………………………………………… 123 

5.3 多圖像跟蹤 …………………………………………………………………………… 124 

5.4 運行時創建參考圖像庫 ……………………………………………………………… 129 

5.5 運行時切換參考圖像庫 ……………………………………………………………… 130 

5.6 運行時添加參考圖像 ………………………………………………………………… 132 

5.7 脫卡 …………………………………………………………………………………… 136 

5.8 圖像跟蹤優化 ………………………………………………………………………… 137 

第 6章人臉檢測跟蹤…………………………………………………………………………… 140 

6.1 人臉檢測基礎 ………………………………………………………………………… 140 

6.1.1 人臉檢測概念 ………………………………………………………………… 140 

6.1.2 人臉檢測技術基礎 …………………………………………………………… 141 

6.2 人臉姿態與網格 ……………………………………………………………………… 143 

6.2.1 人臉姿態 ……………………………………………………………………… 143 

6.2.2 人臉網格 ……………………………………………………………………… 145 

6.3 人臉區域與多人臉檢測 ……………………………………………………………… 151 

6.3.1 人臉區域 ……………………………………………………………………… 151 

6.3.2 多人臉檢測 …………………………………………………………………… 155

第 7章光影效果………………………………………………………………………………… 159 

7.1 光照基礎 ……………………………………………………………………………… 159 

7.1.1 光源 …………………………………………………………………………… 160 

7.1.2 光與材質的交互 ……………………………………………………………… 160 

7.1.3 光照模型 ……………………………………………………………………… 161 

7.1.4 三維渲染 ……………………………………………………………………… 162 

7.2 光照估計 ……………………………………………………………………………… 163 

7.2.1 光照一致性 …………………………………………………………………… 163 

7.2.2 光照估計實例 ………………………………………………………………… 163 

7.3 環境反射 ……………………………………………………………………………… 167 

7.3.1 立方體貼圖 …………………………………………………………………… 167 

7.3.2 紋理採樣過濾 ………………………………………………………………… 168 

7.3.3 AR Environment Probe Manager組件 ………………………………………… 169 

7.3.4 使用環境反射 ………………………………………………………………… 170 

7.4 內置實時陰影 ………………………………………………………………………… 171 

7.4.1 ShadowMap技術原理 ………………………………………………………… 172 

7.4.2 使用實時陰影 ………………………………………………………………… 173 

7.5 Planar陰影 …………………………………………………………………………… 178 

7.5.1 數學原理 ……………………………………………………………………… 178 

7.5.2 代碼實現 ……………………………………………………………………… 179 

7.6 偽陰影 ………………………………………………………………………………… 185

第 8章持久化存儲與多人共享………………………………………………………………… 187 

8.1 雲錨點 ………………………………………………………………………………… 187 

8.2 ARCore雲錨點使用實例 ……………………………………………………………… 188 

8.3 ARCore雲錨點使用註意事項 ………………………………………………………… 195 

8.4 Azure雲服務概述……………………………………………………………………… 196 

8.5 Azure空間定位點使用實例…………………………………………………………… 197

第 9章場景圖像獲取與場景深度……………………………………………………………… 206 

9.1 獲取 GPU圖像 ………………………………………………………………………… 206 

9.1.1 獲取攝像頭原始圖像 ………………………………………………………… 206 

9.1.2 獲取屏幕顯示圖像 …………………………………………………………… 208 

9.2 獲取 CPU圖像 ………………………………………………………………………… 212 

9.2.1 AR攝像頭圖像數據流………………………………………………………… 212 

9.2.2 從 CPU中獲取攝像頭圖像 …………………………………………………… 213 

9.3 邊緣檢測原理 ………………………………………………………………………… 222 

9.3.1 捲積 …………………………………………………………………………… 223 

9.3.2 Sobel算子 ……………………………………………………………………… 224 

9.4 CPU圖像邊緣檢測實例 ……………………………………………………………… 226 

9.5 Depth API概述 ………………………………………………………………………… 229 

9.6 Depth API實例 ………………………………………………………………………… 232 

9.7 場景深度應用場景 …………………………………………………………………… 237

第 10章相機與手勢操作 ……………………………………………………………………… 239 

10.1 AR場景操作 ………………………………………………………………………… 239 

10.1.1 場景操作方法 ……………………………………………………………… 239 

10.1.2 場景操作實例 ……………………………………………………………… 240 

10.2 手勢操作交互 ………………………………………………………………………… 242 

10.2.1 手勢檢測 …………………………………………………………………… 242 

10.2.2 手勢操作控制 ……………………………………………………………… 244 

10.3 XR Interaction Toolkit ………………………………………………………………… 247 

10.3.1 對象放置 …………………………………………………………………… 248 

10.3.2 對象選擇 …………………………………………………………………… 252 

10.3.3 對象操作 …………………………………………………………………… 254

第 11章三維文字與音視頻 …………………………………………………………………… 256 

11.1 三維文字 ……………………………………………………………………………… 256 

11.1.1 文字單位換算 ……………………………………………………………… 256 

11.1.2 中文字體製作 ……………………………………………………………… 257 

11.2 三維聲頻 ……………………………………………………………………………… 258 

11.2.1 三維聲場原理 ……………………………………………………………… 259 

11.2.2 RA聲頻使用………………………………………………………………… 260 

11.2.3 RA組件……………………………………………………………………… 260 

11.2.4 使用 RA聲頻 ……………………………………………………………… 262 

11.2.5 聲頻效果設置 ……………………………………………………………… 266 

11.2.6 RA聲頻 API ………………………………………………………………… 268 

11.2.7 運行時啟用和禁用三維音效 ……………………………………………… 268 

11.2.8 使用回響營造空間感 ……………………………………………………… 269 

11.2.9 三維音效設計原則 ………………………………………………………… 272 

11.3 三維視頻 ……………………………………………………………………………… 273 

11.3.1 VideoPlayer組件 …………………………………………………………… 274 

11.3.2 三維視頻播放實現 ………………………………………………………… 277 

11.3.3 視頻音效空間化 …………………………………………………………… 280

第 12章 glTF與 Model Viewer………………………………………………………………… 281 

12.1 glTF概述……………………………………………………………………………… 281 

12.2 Model Viewer ………………………………………………………………………… 284 

12.2.1 Model Viewer使用實例 …………………………………………………… 285 

12.2.2 Model Viewer詳解 ………………………………………………………… 288 

12.2.3 使用 Model Viewer的註意事項 …………………………………………… 294

高 級 篇

第 13章 Android與 Unity交互通信 ………………………………………………………… 299 

13.1 Android與 Unity通信原理 ………………………………………………………… 299 

13.2 Unity直接調用 Java代碼 …………………………………………………………… 302 

13.3 模塊調用 ……………………………………………………………………………… 312 

13.4 繼承 UnityPlayerActivity類 ………………………………………………………… 317 

13.5 AndroidJavaProxy類詳細講解 ……………………………………………………… 320 

13.6 訂閱 Android廣播 …………………………………………………………………… 323 

13.7 調用 so庫文件 ……………………………………………………………………… 328 

13.8 Android與 Unity交互註意事項 …………………………………………………… 330 

第 14章設計原則 ……………………………………………………………………………… 334 

14.1 移動 AR帶來的挑戰 ………………………………………………………………… 334 

14.1.1 三維化思維 ………………………………………………………………… 334 

14.1.2 用戶必須移動 ……………………………………………………………… 335 

14.1.3 要求手持設備 ……………………………………………………………… 335 

14.1.4 近臉使用 …………………………………………………………………… 336 

14.1.5 操作手勢 …………………………………………………………………… 336 

14.1.6 啟動應用 …………………………………………………………………… 337 

14.1.7 色彩運用 …………………………………………………………………… 337 

14.2 移動 AR設計準則 …………………………………………………………………… 337 

14.2.1 有用或有趣 ………………………………………………………………… 338 

14.2.2 虛實融合必須有意義 ……………………………………………………… 338 

14.2.3 移動限制 …………………………………………………………………… 338 

14.2.4 心理預期與維度轉換 ……………………………………………………… 338 

14.2.5 環境影響 …………………………………………………………………… 339 

14.2.6 視覺效果 …………………………………………………………………… 340 

14.2.7 UI設計 ……………………………………………………………………… 340 

14.2.8 沉浸式交互 ………………………………………………………………… 340 

14.3 移動 AR設計指南 …………………………………………………………………… 341 

14.3.1 環境 ………………………………………………………………………… 342 

14.3.2 用戶細節 …………………………………………………………………… 343 

14.3.3 虛擬內容 …………………………………………………………………… 346 

14.3.4 交互 ………………………………………………………………………… 352 

14.3.5 視覺設計 …………………………………………………………………… 357 

14.3.6 真實感 ……………………………………………………………………… 362 

14.3.7 三維音效 …………………………………………………………………… 367

第 15章性能優化 ……………………………………………………………………………… 369 

15.1 性能優化基礎 ………………………………………………………………………… 369 

15.1.1 影響性能的主要因素 ……………………………………………………… 369 

15.1.2 AR應用常用調試方法……………………………………………………… 371 

15.1.3 AR應用性能優化的一般原則……………………………………………… 372 

15.2 AR應用性能調試工具 ……………………………………………………………… 373 

15.2.1 ARCore性能調試功能 ……………………………………………………… 373 

15.2.2 Unity分析器 ………………………………………………………………… 375 

15.2.3 幀調試器 …………………………………………………………………… 379 

15.2.4 UPR分析器 ………………………………………………………………… 380 

15.3 Unity分析器使用 …………………………………………………………………… 382 

15.3.1 CPU使用情況分析器 ……………………………………………………… 382 

15.3.2 渲染情況分析器 …………………………………………………………… 383 

15.3.3 內存使用情況分析器 ……………………………………………………… 383 

15.3.4 物理分析器 ………………………………………………………………… 384 

15.3.5 音視頻分析器 ……………………………………………………………… 385 

15.4 性能優化流程 ………………………………………………………………………… 385 

15.4.1 收集運行數據 ……………………………………………………………… 387 

15.4.2 分析運行數據 ……………………………………………………………… 388 

15.4.3 確定問題原因 ……………………………………………………………… 390 

15.5 渲染優化 ……………………………………………………………………………… 392 

15.5.1 渲染流程 …………………………………………………………………… 392 

15.5.2 CPU瓶頸 …………………………………………………………………… 393 

15.5.3 GPU瓶頸 …………………………………………………………………… 396 

15.6 代碼優化 ……………………………………………………………………………… 398 

15.6.1 內存管理 …………………………………………………………………… 398 

15.6.2 垃圾回收 …………………………………………………………………… 399 

15.6.3 對象池 ……………………………………………………………………… 404 

15.6.4 常見影響性能的代碼優化策略 …………………………………………… 405 

15.7 ARCore優化設置 …………………………………………………………………… 407 

15.7.1 UI/UX優化 ………………………………………………………………… 407 

15.7.2 常用優化設置 ……………………………………………………………… 407 

15.7.3 AR應用開發的一般註意事項 …………………………………………… 408

參考文獻…………………………………………………………………………………………… 410