書籍簡介:
本書第1章介紹AR技術(shù)原理和AR Foundation概況,講述用Unity開發(fā)AR應(yīng)用的環(huán)境配置及調(diào)試方法,第2章對AR Foundation體系架構(gòu)及關(guān)鍵組件、核心功能技術(shù)進行深入探討,第3章講述平面檢測識別及參考點相關(guān)知識,第4章介紹2D圖像與3D物體的檢測識別跟蹤知識,第5章介紹人臉檢測、人臉表情捕捉、人臉特效實現(xiàn)的相關(guān)技術(shù),第6章介紹光照估計、環(huán)境光反射、AR陰影生成的相關(guān)知識,第7章討論云錨點、持久化存儲、AR多人體驗共享的相關(guān)知識,第8章介紹攝像頭圖像獲取及自定義渲染管線的相關(guān)知識,第9章討論2D、3D人體姿態(tài)估計及人形遮擋的相關(guān)知識,第10章講述攝像機及手勢操作的相關(guān)知識,第11章討論在AR應(yīng)用中使用3D音、視頻的相關(guān)知識,第12章講述開發(fā)AR應(yīng)用的設(shè)計原則與設(shè)計指南,第13章討論AR開發(fā)時的性能問題排查及優(yōu)化技術(shù)。
本書適合AR Foundation初學(xué)者、Unity開發(fā)人員閱讀,也可以作為大專院校相關(guān)專業(yè)師生的學(xué)習(xí)用書以及培訓(xùn)學(xué)校的教材。
作者簡介:
汪祥春,計算機科學(xué)與技術(shù)專業(yè)碩士,全國信息技術(shù)標(biāo)準(zhǔn)化技術(shù)委員會、計算機圖形圖像處理及環(huán)境數(shù)據(jù)表示分技術(shù)委員會虛擬現(xiàn)實與增強現(xiàn)實標(biāo)準(zhǔn)工作組成員,中國增強現(xiàn)實核心技術(shù)產(chǎn)業(yè)聯(lián)盟成員?,F(xiàn)從事AR技術(shù)研發(fā)及管理工作。擁有深厚的軟件工程專業(yè)背景和省部級科技項目實施管理經(jīng)驗,CSDN博客專家。擁有十余年軟件開發(fā)及項目管理經(jīng)驗。
出版日期:
2020年10月
章節(jié)目錄:
第 1章 AR Foundation入門 1
1.1 增強現(xiàn)實技術(shù)概述 1
1.1.1 AR概述 1
1.1.2 AR技術(shù) 2
1.1.3 AR技術(shù)應(yīng)用 4
1.2 AR技術(shù)原理 4
1.2.1 位置追蹤 4
1.2.2 視覺校準(zhǔn) 6
1.2.3 慣性校準(zhǔn) 7
1.2.4 3D重建 7
1.3 AR Foundation概述 8
1.3.1 AR Foundation與ARCore/ARKit 8
1.3.2 AR Foundation
支持的功能 9
1.3.3 AR Foundation
功能概述 10
1.3.4 AR Foundation體系
架構(gòu)概述 11
1.3.5 基本術(shù)語 11
1.4 開發(fā)環(huán)境準(zhǔn)備 13
1.5 Android開發(fā)環(huán)境配置 16
1.5.1 插件導(dǎo)入 16
1.5.2 設(shè)置開發(fā)環(huán)境 17
1.5.3 搭建基礎(chǔ)框架 19
1.5.4 AppController 21
1.5.5 運行Helloworld 22
1.6 連接設(shè)備調(diào)試應(yīng)用 24
1.6.1 打開手機USB調(diào)試 24
1.6.2 設(shè)置手機Wi-Fi調(diào)試 25
1.6.3 調(diào)試AR應(yīng)用 26
1.7 iOS開發(fā)環(huán)境配置 27
1.7.1 插件導(dǎo)入 27
1.7.2 設(shè)置開發(fā)環(huán)境 29
1.7.3 搭建基礎(chǔ)框架 30
1.7.4 AppController 32
1.7.5 生成并配置XCode工程 34
1.7.6 運行Helloworld 36
第 2章 AR Foundation基礎(chǔ) 39
2.1 AR Foundation體系架構(gòu) 39
2.1.1 AR子系統(tǒng)概念 40
2.1.2 AR子系統(tǒng)使用 40
2.1.3 跟蹤子系統(tǒng) 41
2.2 AR Session & AR Session Origin 42
2.2.1 AR Session 42
2.2.2 AR Session Origin 44
2.3 可跟蹤對象 46
2.3.1 可跟蹤對象管理器 47
2.3.2 可跟蹤對象事件 47
2.3.3 管理可跟蹤對象 48
2.4 Session管理 49
第3章 平面檢測與參考點管理 51
3.1 平面管理 51
3.1.1 平面檢測 51
3.1.2 可視化平面 52
3.1.3 個性化渲染平面 52
3.1.4 開啟與關(guān)閉平面檢測 55
3.1.5 顯示與隱藏已檢測平面 57
3.2 射線檢測 58
3.2.1 射線檢測概念 59
3.2.2 射線檢測詳解 60
3.3 點云與參考點 61
3.3.1 點云 61
3.3.2 參考點 63
3.4 平面分類 66
第4章 圖像與物體檢測跟蹤 69
4.1 2D圖像檢測跟蹤 69
4.1.1 圖像跟蹤基本操作 69
4.1.2 圖像跟蹤啟用與禁用 71
4.1.3 多圖像跟蹤 72
4.1.4 運行時創(chuàng)建參考圖像庫 76
4.1.5 運行時切換參考圖像庫 76
4.1.6 運行時添加參考圖像 78
4.2 3D物體檢測跟蹤 80
4.2.1 獲取參考物體空間
特征信息 81
4.2.2 掃描獲取物體空間特征
信息的注意事項 83
4.2.3 AR Tracked Object Manager 84
4.2.4 3D物體識別跟蹤基本操作 85
4.2.5 3D物體跟蹤啟用與禁用 86
4.2.6 多物體識別跟蹤 87
第5章 人臉檢測跟蹤 90
5.1 人臉檢測基礎(chǔ) 90
5.1.1 人臉檢測概念 90
5.1.2 人臉檢測技術(shù)基礎(chǔ) 91
5.2 人臉姿態(tài)與網(wǎng)格 92
5.2.1 人臉姿態(tài) 92
5.2.2 人臉網(wǎng)格 94
5.3 人臉區(qū)域與多人臉檢測 97
5.3.1 人臉區(qū)域 97
5.3.2 多人臉檢測 100
5.4 BlendShapes 101
5.4.1 BlendShapes基礎(chǔ) 102
5.4.2 BlendShapes技術(shù)原理 103
5.4.3 BlendShapes的使用 105
第6章 光影效果 108
6.1 光照基礎(chǔ) 108
6.1.1 光源 108
6.1.2 光與材質(zhì)的交互 109
6.1.3 3D渲染 110
6.2 光照估計 111
6.2.1 3D光照 111
6.2.2 光照一致性 112
6.2.3 光照估計操作 112
6.3 環(huán)境光反射 115
6.3.1 Cubemap 115
6.3.2 PBR渲染 116
6.3.3 Reflection Probe 117
6.3.4 紋理采樣過濾 118
6.3.5 使用Environment Probe 119
6.3.6 AR Environment
Probe Manager 121
6.3.7 性能優(yōu)化 123
6.4 使用內(nèi)置實時陰影 124
6.4.1 ShadowMap技術(shù)原理 124
6.4.2 使用實時陰影 125
6.4.3 陰影參數(shù)詳解 129
6.5 Projector陰影 130
6.5.1 ProjectorShadow 131
6.5.2 BlobShadow 133
6.5.3 參數(shù)詳解 134
6.6 Planar陰影 134
6.6.1 數(shù)學(xué)原理 135
6.6.2 代碼實現(xiàn) 136
6.7 偽陰影 140
6.7.1 預(yù)先制作陰影 141
6.7.2 一種精確放置物體的方法 142
第7章 持久化存儲與多人共享 145
7.1 錨點 145
7.1.1 錨點概述 145
7.1.2 使用錨點 146
7.1.3 云錨點 146
7.2 ARWorldMap 148
7.2.1 ARWorldMap概述 148
7.2.2 ARWorldMap實例 149
7.3 協(xié)作Session 152
7.3.1 協(xié)作Session概述 153
7.3.2 協(xié)作Session實例 156
7.3.3 使用協(xié)作Session的
注意事項 160
第8章 攝像機圖像獲取與
自定義渲染管線 162
8.1 獲取GPU圖像 162
8.1.1 獲取攝像頭原始圖像 162
8.1.2 獲取屏幕顯示圖像 163
8.2 獲取CPU圖像 165
8.2.1 AR攝像機圖像數(shù)據(jù)流 166
8.2.2 從CPU中獲取攝像頭圖像 166
8.3 邊緣檢測原理 173
8.3.1 卷積 173
8.3.2 Sobel算子 174
8.4 CPU圖像邊緣檢測實例 175
8.5 可編程渲染管線 178
第9章 肢體動捕與遮擋 181
9.1 2D人體姿態(tài)估計 181
9.1.1 人體骨骼關(guān)鍵點檢測 181
9.1.2 使用2D人體姿態(tài)估計 182
9.2 3D人體姿態(tài)估計 185
9.2.1 使用3D人體姿態(tài)
估計的方法 185
9.2.2 使用3D人體姿態(tài)
估計實例 194
9.3 人形遮擋 195
9.3.1 人形遮擋原理 196
9.3.2 人形遮擋實現(xiàn) 198
第 10章 攝像機與手勢操作 202
10.1 場景操作 202
10.1.1 場景操作方法 202
10.1.2 場景操作實例 203
10.2 同時開啟前后攝像頭 204
10.3 環(huán)境交互 207
10.3.1 射線檢測 207
10.3.2 手勢檢測 208
10.4 手勢控制 210
10.4.1 單物體操控 210
10.4.2 多物體場景操控單
物體對象 212
10.4.3 多物體操控 215
10.4.4 物體操控模塊 218
第 11章 3D音視頻 220
11.1 3D音頻 220
11.1.1 3D聲場原理 221
11.1.2 聲波與雙耳間的互動 222
11.1.3 頭部關(guān)聯(lián)傳導(dǎo)函數(shù) 223
11.1.4 頭部轉(zhuǎn)動與聲音位置 223
11.1.5 早期反射和混音 223
11.1.6 聲音遮擋 224
11.1.7 指向性 225
11.1.8 Ambisonics 225
11.1.9 下載Resonance
Audio SDK 226
11.1.10 導(dǎo)入SDK 226
11.1.11 Resonance Audio
components 226
11.1.12 使用共振音頻 227
11.1.13 Room effects 230
11.1.14 Resonance Audio API 231
11.2 3D視頻 232
11.2.1 Video Player組件 232
11.2.2 3D視頻播放實現(xiàn) 234
第 12章 設(shè)計原則 238
12.1 移動AR帶來的挑戰(zhàn) 238
12.1.1 用戶必須移動 238
12.1.2 要求手持設(shè)備 239
12.1.3 要求必須將手機
放在臉前 239
12.1.4 操作手勢 239
12.1.5 用戶必須打開App 240
12.2 移動AR設(shè)計準(zhǔn)則 240
12.2.1 有用或有趣 240
12.2.2 虛擬和真實的混合
必須有意義 240
12.2.3 移動限制 241
12.2.4 心理預(yù)期與維度轉(zhuǎn)換 241
12.2.5 環(huán)境影響 241
12.2.6 視覺效果 242
12.2.7 UI設(shè)計 242
12.2.8 沉浸式交互 243
12.3 移動AR設(shè)計指南 243
12.3.1 環(huán)境 244
12.3.2 用戶細(xì)節(jié) 245
12.3.3 虛擬內(nèi)容 247
12.3.4 交互 252
12.3.5 視覺設(shè)計 256
12.3.6 真實感 260
第 13章 性能優(yōu)化 264
13.1 移動平臺性能優(yōu)化基礎(chǔ) 264
13.1.1 影響性能的主要因素 264
13.1.2 AR常用調(diào)試方法 265
13.1.3 Unity Profiler 266
13.1.4 Frame Debugger 270
13.2 Unity Profiler使用 271
13.2.1 CPU使用情況分析器 272
13.2.2 渲染情況分析器 274
13.2.3 內(nèi)存使用情況分析器 274
13.2.4 物理分析器 275
13.2.5 音視頻分析器 276
13.2.6 UI分析器 277
13.2.7 全局光照分析器 277
13.3 性能優(yōu)化的一般步驟 278
13.3.1 收集運行數(shù)據(jù) 278
13.3.2 分析運行數(shù)據(jù) 279
13.3.3 確定問題原因 281
13.4 移動設(shè)備性能優(yōu)化 283
13.5 渲染優(yōu)化 284
13.5.1 渲染流程 284
13.5.2 CPU瓶頸 285
13.5.3 GPU瓶頸 288
13.6 代碼優(yōu)化 289
13.6.1 內(nèi)存管理 289
13.6.2 垃圾回收 290
13.6.3 對象池 293
13.7 UI優(yōu)化 294
13.7.1 UI Drawcall優(yōu)化 295
13.7.2 動靜分離 295
13.7.3 圖片優(yōu)化 296
參考文獻 298
封面圖: