本書共分11章,主要講解了VR和AR的開發(fā)和應(yīng)用,主要內(nèi)容為:增強現(xiàn)實以及AR工具介紹,Unity開發(fā)環(huán)境搭建及Vuforia開發(fā)環(huán)境搭建,Vuforia核心功能,如掃描圖片、圓柱體識別、多目標(biāo)識別、文字識別、云識別、物體識別和案例等,EasyAR開發(fā)知識,基于Unity開發(fā)VR,Cardboard VR開發(fā),三星Gear VR應(yīng)用開發(fā),HTC Vive平臺VR開發(fā)。通過兩大綜合案例Gear VR游戲—Breaker和科普類AR&VR應(yīng)用—星空探索,為讀者全面展示AR/VR案例開發(fā)的過程,使讀者盡快進入實戰(zhàn)角色。
本書適合程序員、AR/VR開發(fā)者、AR/VR愛好者,以及大專院校相關(guān)專業(yè)的師生學(xué)習(xí)用書和培訓(xùn)學(xué)校的教材。
介紹了AR開發(fā)中所廣泛使用的Vuforia與EasyAR引擎的使用,并對Oculus的開發(fā)流程進行了講解
介紹了基于Cardboard VR、Gear VR與HTC Vive設(shè)備的開發(fā)步驟
后兩章分別給出了一個完整的VR游戲案例與一個AR、VR相結(jié)合的科普類應(yīng)用案例。幫助讀者學(xué)以致用
吳亞峰,畢業(yè)于北京郵電大學(xué),后留學(xué)澳大利亞臥龍崗大學(xué)取得碩士學(xué)位。1998年開始從事Java應(yīng)用的開發(fā),有10多年的Java開發(fā)與培訓(xùn)經(jīng)驗。主要的研究方向為OpenGL ES、手機游戲、Java EE以及搜索引擎。同時為手機游戲、Java EE獨立軟件開發(fā)工程師,現(xiàn)任職于華北理工大學(xué)并兼任華北理工大學(xué)以升大學(xué)生創(chuàng)新實驗中心移動及互聯(lián)網(wǎng)軟件工作室負責(zé)人。十多年來不但指導(dǎo)學(xué)生多次制作手游作品獲得多項學(xué)科競賽大獎,還為數(shù)十家知名企業(yè)培養(yǎng)了上千名高級軟件開發(fā)人員。曾編寫過《OpenGL ES 3.0游戲開發(fā)(上下卷)》、《Unity 5.X 3D游戲開發(fā)技術(shù)詳解與典型案例》、《Unity 4 3D開發(fā)實戰(zhàn)詳解》、《Unity游戲案例開發(fā)大全》、《Android應(yīng)用案例開發(fā)大全》(第1版、第二版及第三版)、《Android游戲開發(fā)大全》(第1版、第二版及第三版)等多本暢銷技術(shù)書籍。2008年初開始關(guān)注Android平臺下的3D應(yīng)用開發(fā),并開發(fā)出一系列優(yōu)質(zhì)的Android應(yīng)用程序與3D游戲。
第1章 初見增強現(xiàn)實 1
1.1 增強現(xiàn)實簡介 1
1.2 AR工具簡介 1
1.3 Unity開發(fā)環(huán)境搭建 2
1.3.1 Windows平臺下Unity的下載
及安裝 2
1.3.2 Mac OS平臺下Unity的下載及安裝 6
1.3.3 目標(biāo)平臺的SDK與Unity集成 9
1.4 Vuforia開發(fā)環(huán)境的搭建 12
1.5 本章小結(jié) 16
1.6 習(xí)題 16
第2章 Vuforia核心功能介紹 17
2.1 掃描圖片—Image Target 17
2.2 圓柱體識別—Cylinder Targets 18
2.2.1 圖片標(biāo)準(zhǔn) 18
2.2.2 如何獲取實際物體的具體
參數(shù) 18
2.2.3 如何制作自定義的商標(biāo) 19
2.2.4 如何達到最好的效果 20
2.3 多目標(biāo)識別—MultiTargets 20
2.3.1 多目標(biāo)識別原理 21
2.3.2 對多目標(biāo)識別的選擇建議 21
2.4 標(biāo)記框架—Frame Markers 21
2.5 文字識別—Text Recognition 22
2.5.1 可識別字體格式 22
2.5.2 使用文本識別 22
2.5.3 應(yīng)用過濾器 23
2.6 用戶自定義目標(biāo)—User Defined Targets 23
2.6.1 適合被追蹤的場景和物體 24
2.6.2 介紹用戶自定義目標(biāo)預(yù)
制件 24
2.7 虛擬按鈕—Virtual Button 24
2.7.1 按鈕的設(shè)計以及布局 24
2.7.2 虛擬按鈕的相關(guān)特性 25
2.7.3 虛擬按鈕的擺放 25
2.8 云識別—Cloud Recognition 26
2.8.1 云識別的優(yōu)勢以及注意
事項 26
2.8.2 云識別的兩種管理方式 26
2.9 智能地形—SmartTerrain 28
2.9.1 智能地形子對象 28
2.9.2 使用范圍及設(shè)備要求 29
2.9.3 智能地形工作原理 29
2.10 物體識別—Object Recognition 30
2.10.1 可識別物體 30
2.10.2 下載Vuforia掃描儀 31
2.10.3 掃描3D物體步驟 31
2.11 本章小結(jié) 33
2.12 習(xí)題 33
第3章 Vuforia核心功能官方案例
詳解 35
3.1 官方案例下載及ARCamera參數(shù)
講解 35
3.2 掃描圖片官方案例詳解 37
3.2.1 預(yù)制件通用腳本介紹 38
3.2.2 運行效果 39
3.2.3 開發(fā)流程 40
3.3 圓柱識別案例詳解 43
3.3.1 運行效果 43
3.3.2 開發(fā)流程 43
3.4 多目標(biāo)識別案例詳解 47
3.4.1 運行效果 48
3.4.2 開發(fā)流程 48
3.5 標(biāo)記框架案例詳解 53
3.5.1 運行效果 53
3.5.2 開發(fā)流程 53
3.6 文字識別案例詳解 54
3.6.1 運行效果 54
3.6.2 開發(fā)流程 55
3.7 自定義目標(biāo)識別案例詳解 58
3.7.1 運行效果 59
3.7.2 開發(fā)流程 59
3.8 虛擬按鈕案例詳解 63
3.8.1 運行效果 63
3.8.2 開發(fā)流程 63
3.9 云識別案例詳解 69
3.9.1 運行效果 69
3.9.2 開發(fā)流程 69
3.10 智能地形案例 75
3.10.1 基礎(chǔ)案例 75
3.10.2 Penguin案例 78
3.11 3D物體識別案例詳解 80
3.11.1 運行效果 80
3.11.2 開發(fā)流程 81
3.12 本章小結(jié) 84
3.13 習(xí)題 84
第4章 EasyAR概述 85
4.1 EasyAR基礎(chǔ)知識講解 85
4.1.1 EasyAR基本介紹 85
4.1.2 EasyAR SDK下載及官方案例導(dǎo)入 85
4.2 EasyAR圖片識別功能 89
4.2.1 案例效果 89
4.2.2 案例詳解 89
4.3 EasyAR視頻播放功能 93
4.3.1 案例效果 93
4.3.2 案例詳解 94
4.4 本章小結(jié) 99
4.5 習(xí)題 99
第5章 基于Unity開發(fā)的VR設(shè)備
初探 101
5.1 基于Unity開發(fā)的VR設(shè)備 101
5.1.1 Oculus Rift 101
5.1.2 Microsoft HoloLens全息
眼鏡 104
5.1.3 Gear VR 104
5.1.4 PlayStation VR 105
5.1.5 HTC Vive 105
5.2 Oculus Rift環(huán)境配置與簡要介紹 105
5.2.1 Oculus Rift安裝 106
5.2.2 Oculus系統(tǒng)托盤 108
5.2.3 Oculus PC SDK開發(fā)準(zhǔn)備 109
5.2.4 游戲手柄的使用 110
5.2.5 Unity整合包簡單介紹 110
5.3 移動控制 113
5.3.1 基礎(chǔ)知識 113
5.3.2 移動控制的案例 115
5.4 準(zhǔn)星的開發(fā) 118
5.4.1 基礎(chǔ)知識 119
5.4.2 準(zhǔn)星開發(fā)案例 119
5.5 菜單界面的開發(fā) 123
5.5.1 場景的搭建 124
5.5.2 C#腳本的開發(fā) 126
5.6 綜合案例 129
5.6.1 場景的搭建 130
5.6.2 著色器及相關(guān)腳本的開發(fā) 132
5.7 本章小結(jié) 137
5.8 習(xí)題 138
第6章 Cardboard VR開發(fā) 139
6.1 Cardboard SDK基本介紹 139
6.1.1 Cardboard SDK的下載與
導(dǎo)入 140
6.1.2 SDK官方預(yù)制件 141
6.1.3 SDK中的腳本文件 143
6.2 Cardboard SDK官方案例 144
6.3 一個綜合案例 148
6.3.1 獲取藍牙手柄鍵值 149
6.3.2 場景一的搭建與開發(fā) 150
6.3.3 場景二的搭建與開發(fā) 153
6.4 本章小結(jié) 156
6.5 習(xí)題 156
第7章 三星Gear VR應(yīng)用開發(fā) 157
7.1 Gear VR概覽 157
7.1.1 初識Gear VR 157
7.1.2 Oculus Home 158
7.2 開發(fā)前的準(zhǔn)備 159
7.2.1 下載Oculus Mobile SDK 159
7.2.2 獲取Oculus簽名文件 160
7.2.3 相關(guān)軟硬件的基本要求 161
7.3 Oculus Mobile SDK概述 162
7.3.1 SDK文件目錄介紹 162
7.3.2 腳本功能介紹 163
7.3.3 OVRCameraRig腳本
介紹 163
7.3.4 外設(shè)輸入接口開發(fā) 165
7.3.5 場景加載時的淡入效果
腳本 169
7.4 游戲性能問題 170
7.4.1 硬件介紹以及降低性能的
因素 170
7.4.2 開發(fā)中需要注意的問題 171
7.5 一個簡單的案例 171
7.5.1 案例功能簡介 172
7.5.2 VR場景搭建 172
7.5.3 UGUI事件監(jiān)聽系統(tǒng) 174
7.5.4 追蹤光標(biāo)的實現(xiàn) 176
7.5.5 觸摸板事件監(jiān)聽 177
7.5.6 部署運行APK的步驟 178
7.6 本章小結(jié) 179
7.7 習(xí)題 179
第8章 HTC Vive 平臺VR開發(fā)簡介 181
8.1 HTC Vive基本介紹 181
8.1.1 設(shè)備的安裝 183
8.1.2 Viveport和手機通知 186
8.2 SDK基本介紹 188
8.2.1 下載Steam VR 188
8.2.2 Vive SDK的下載及導(dǎo)入 189
8.2.3 SDK中的官方預(yù)制件 190
8.3 SDK案例講解 192
8.4 SDK腳本講解 194
8.4.1 SteamVR_GazeTracker腳本詳解 194
8.4.2 SteamVR_LaserPointer腳本詳解 196
8.4.3 SteamVR_TestTrackedCamera腳本詳解 198
8.4.4 SteamVR_TrackedController腳本詳解 199
8.5 本章小結(jié) 201
8.6 習(xí)題 201
第9章 VR與AR創(chuàng)新風(fēng)口 203
9.1 虛擬現(xiàn)實技術(shù) 203
9.2 增強現(xiàn)實技術(shù) 206
9.3 混合現(xiàn)實技術(shù) 209
9.4 本章小結(jié) 211
9.5 習(xí)題 211
第10章 GEAR VR游戲—
Breaker 213
10.1 背景以及功能概述 213
10.1.1 游戲背景概述 213
10.1.2 游戲功能簡介 213
10.2 游戲的策劃及準(zhǔn)備工作 215
10.2.1 游戲的策劃 215
10.2.2 使用Unity開發(fā)游戲前的
準(zhǔn)備工作 216
10.3 游戲的架構(gòu) 218
10.3.1 各個場景的簡要介紹 218
10.3.2 游戲架構(gòu)簡介 219
10.4 Gear VR開發(fā)環(huán)境的搭建 219
10.5 游戲菜單場景的開發(fā) 220
10.5.1 場景的搭建及相關(guān)設(shè)置 221
10.5.2 各對象的腳本開發(fā)及相關(guān)
設(shè)置 223
10.6 關(guān)卡場景的開發(fā) 228
10.6.1 場景的搭建 228
10.6.2 攝像機設(shè)置及腳本開發(fā) 230
10.6.3 小球的腳本開發(fā) 234
10.6.4 插件的使用 237
10.6.5 場景機關(guān)的開發(fā) 240
10.6.6 提示面板的開發(fā) 243
10.7 游戲的優(yōu)化與改進 245
第11章 科普類AR&VR應(yīng)用—
星空探索 247
11.1 項目背景以及功能概述 247
11.1.1 項目開發(fā)背景概述 247
11.1.2 軟件功能簡介 248
11.2 軟件的策劃及準(zhǔn)備工作 250
11.2.1 軟件的策劃 250
11.2.2 資源的準(zhǔn)備工作 251
11.3 軟件的架構(gòu) 252
11.3.1 功能結(jié)構(gòu)介紹 252
11.3.2 各個腳本簡要介紹 253
11.4 天文學(xué)基礎(chǔ)以及相關(guān)計算公式 255
11.4.1 重要天文坐標(biāo)系 255
11.4.2 行星、月球、深空天體
簡介 257
11.4.3 行星運行軌跡計算 258
11.4.4 月球運行軌跡計算 261
11.4.5 儒略日計算 264
11.5 觀察星空模塊的開發(fā) 265
11.5.1 數(shù)據(jù)的存儲與讀取技術(shù)的
開發(fā) 265
11.5.2 星座以及深空天體相關(guān)內(nèi)容
的繪制 269
11.5.3 八大行星以及月球的
繪制 272
11.5.4 深空天體介紹場景的
開發(fā) 276
11.5.5 天體及連線著色器的
開發(fā) 278
11.6 太陽系普通模式的開發(fā) 279
11.6.1 太陽系場景的搭建 279
11.6.2 行星及衛(wèi)星腳本開發(fā) 280
11.6.3 太陽特效及小行星帶的
開發(fā) 281
11.7 太陽系增強現(xiàn)實(AR)模式的
開發(fā) 283
11.7.1 AR開發(fā)前期準(zhǔn)備 284
11.7.2 場景搭建過程 285
11.7.3 攝像機自動對焦腳本的
開發(fā) 287
11.8 太陽系虛擬現(xiàn)實(VR)模式的
開發(fā) 288
11.8.1 CardBoard SDK使用 288
11.8.2 構(gòu)建應(yīng)用并部署到Android
設(shè)備 289
11.8.3 將太陽系場景開發(fā)成VR
模式 289
11.9 藍牙搖桿使用及其他設(shè)置功能的
實現(xiàn) 290
11.9.1 藍牙搖桿控制腳本開發(fā) 290
11.9.2 VR開關(guān)、搖桿靈敏度、
音效及時間縮放因子的
開發(fā) 291
11.9.3 主菜單腳本的開發(fā) 291
11.9.4 陀螺儀腳本開發(fā) 294
11.10 本章小結(jié) 295
參考文獻 296