《VR與AR開發高級教程:基於Unity》是2020年3月人民郵電出版社出版的圖書,作者是吳亞峰、劉亞志、於復興。
基本介紹
- 中文名:VR與AR開發高級教程:基於Unity
- 作者:吳亞峰、劉亞志、於復興
- 出版社:人民郵電出版社
- 出版時間:2020年3月
- 頁數:295 頁
- 定價:69 元
- 開本:16 開
- 裝幀:平裝
- ISBN:9787115444264
內容簡介,圖書目錄,
內容簡介
本書共分11章,主要講解了VR和AR的開發和套用,主要內容為:增強現實以及AR工具介紹,Unity開發環境搭建及Vuforia開發環境搭建,Vuforia核心功能,如掃描圖片、圓柱體識別、多目標識別、文字識別、雲識別、物體識別和案例等,EasyAR開發知識,基於Unity開發VR,Cardboard VR開發,三星Gear VR套用開發,HTC Vive平台VR開發。通過兩大綜合案例Gear VR遊戲—Breaker和科普類AR&VR套用—星空探索,為讀者全面展示AR/VR案例開發的過程,使讀者儘快進入實戰角色。
本書適合程式設計師、AR/VR開發者、AR/VR愛好者,以及大專院校相關專業的師生學習用書和培訓學校的教材。
圖書目錄
第 1章 初見增強現實 1
1.1 增強現實簡介 1
1.2 AR工具簡介 1
1.3 Unity開發環境搭建 2
1.3.1 Windows平台下Unity的下載
及安裝 2
1.3.2 Mac OS平台下Unity的下載及安裝 6
1.3.3 目標平台的SDK與Unity集成 9
1.4 Vuforia開發環境的搭建 12
1.5 本章小結 16
1.6 習題 16
第 2章 Vuforia核心功能介紹 17
2.1 掃描圖片—Image Target 17
2.2 圓柱體識別—Cylinder Targets 18
2.2.1 圖片標準 18
2.2.2 如何獲取實際物體的具體
參數 18
2.2.3 如何製作自定義的商標 19
2.2.4 如何達到**好的效果 20
2.3 多目標識別—MultiTargets 20
2.3.1 多目標識別原理 21
2.3.2 對多目標識別的選擇建議 21
2.4 標記框架—Frame Markers 21
2.5 文字識別—Text Recognition 22
2.5.1 可識別字型格式 22
2.5.2 使用文本識別 22
2.5.3 套用過濾器 23
2.6 用戶自定義目標—User Defined Targets 23
2.6.1 適合被追蹤的場景和物體 24
2.6.2 介紹用戶自定義目標預
製件 24
2.7 虛擬按鈕—Virtual Button 24
2.7.1 按鈕的設計以及布局 24
2.7.2 虛擬按鈕的相關特性 25
2.7.3 虛擬按鈕的擺放 25
2.8 雲識別—Cloud Recognition 26
2.8.1 雲識別的優勢以及注意
事項 26
2.8.2 雲識別的兩種管理方式 26
2.9 智慧型地形—SmartTerrain 28
2.9.1 智慧型地形子對象 28
2.9.2 使用範圍及設備要求 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 本章小結 33
2.12 習題 33
第3章 Vuforia核心功能官方案例
詳解 35
3.1 官方案例下載及ARCamera參數
講解 35
3.2 掃描圖片官方案例詳解 37
3.2.1 預製件通用腳本介紹 38
3.2.2 運行效果 39
3.2.3 開發流程 40
3.3 圓柱識別案例詳解 43
3.3.1 運行效果 43
3.3.2 開發流程 43
3.4 多目標識別案例詳解 47
3.4.1 運行效果 48
3.4.2 開發流程 48
3.5 標記框架案例詳解 53
3.5.1 運行效果 53
3.5.2 開發流程 53
3.6 文字識別案例詳解 54
3.6.1 運行效果 54
3.6.2 開發流程 55
3.7 自定義目標識別案例詳解 58
3.7.1 運行效果 59
3.7.2 開發流程 59
3.8 虛擬按鈕案例詳解 63
3.8.1 運行效果 63
3.8.2 開發流程 63
3.9 雲識別案例詳解 69
3.9.1 運行效果 69
3.9.2 開發流程 69
3.10 智慧型地形案例 75
3.10.1 基礎案例 75
3.10.2 Penguin案例 78
3.11 3D物體識別案例詳解 80
3.11.1 運行效果 80
3.11.2 開發流程 81
3.12 本章小結 84
3.13 習題 84
第4章 EasyAR概述 85
4.1 EasyAR基礎知識講解 85
4.1.1 EasyAR基本介紹 85
4.1.2 EasyAR SDK下載及官方案例導入 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 本章小結 99
4.5 習題 99
第5章 基於Unity開發的VR設備
初探 101
5.1 基於Unity開發的VR設備 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環境配置與簡要介紹 105
5.2.1 Oculus Rift安裝 106
5.2.2 Oculus系統托盤 108
5.2.3 Oculus PC SDK開發準備 109
5.2.4 遊戲手柄的使用 110
5.2.5 Unity整合包簡單介紹 110
5.3 移動控制 113
5.3.1 基礎知識 113
5.3.2 移動控制的案例 115
5.4 準星的開發 118
5.4.1 基礎知識 119
5.4.2 準星開發案例 119
5.5 選單界面的開發 123
5.5.1 場景的搭建 124
5.5.2 C#腳本的開發 126
5.6 綜合案例 129
5.6.1 場景的搭建 130
5.6.2 著色器及相關腳本的開發 132
5.7 本章小結 137
5.8 習題 138
第6章 Cardboard VR開發 139
6.1 Cardboard SDK基本介紹 139
6.1.1 Cardboard SDK的下載與
導入 140
6.1.2 SDK官方預製件 141
6.1.3 SDK中的腳本檔案 143
6.2 Cardboard SDK官方案例 144
6.3 一個綜合案例 148
6.3.1 獲取藍牙手柄鍵值 149
6.3.2 場景一的搭建與開發 150
6.3.3 場景二的搭建與開發 153
6.4 本章小結 156
6.5 習題 156
第7章 三星Gear VR套用開發 157
7.1 Gear VR概覽 157
7.1.1 初識Gear VR 157
7.1.2 Oculus Home 158
7.2 開發前的準備 159
7.2.1 下載Oculus Mobile SDK 159
7.2.2 獲取Oculus簽名檔案 160
7.2.3 相關軟硬體的基本要求 161
7.3 Oculus Mobile SDK概述 162
7.3.1 SDK檔案介紹 162
7.3.2 腳本功能介紹 163
7.3.3 OVRCameraRig腳本
介紹 163
7.3.4 外設輸入接口開發 165
7.3.5 場景載入時的淡入效果
腳本 169
7.4 遊戲性能問題 170
7.4.1 硬體介紹以及降低性能的
因素 170
7.4.2 開發中需要注意的問題 171
7.5 一個簡單的案例 171
7.5.1 案例功能簡介 172
7.5.2 VR場景搭建 172
7.5.3 UGUI事件監聽系統 174
7.5.4 追蹤游標的實現 176
7.5.5 觸摸板事件監聽 177
7.5.6 部署運行APK的步驟 178
7.6 本章小結 179
7.7 習題 179
第8章 HTC Vive 平台VR開發簡介 181
8.1 HTC Vive基本介紹 181
8.1.1 設備的安裝 183
8.1.2 Viveport和手機通知 186
8.2 SDK基本介紹 188
8.2.1 下載Steam VR 188
8.2.2 Vive SDK的下載及導入 189
8.2.3 SDK中的官方預製件 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 本章小結 201
8.6 習題 201
第9章 VR與AR創新風口 203
9.1 虛擬現實技術 203
9.2 增強現實技術 206
9.3 混合現實技術 209
9.4 本章小結 211
9.5 習題 211
第 10章 GEAR VR遊戲—
Breaker 213
10.1 背景以及功能概述 213
10.1.1 遊戲背景概述 213
10.1.2 遊戲功能簡介 213
10.2 遊戲的策劃及準備工作 215
10.2.1 遊戲的策劃 215
10.2.2 使用Unity開發遊戲前的
準備工作 216
10.3 遊戲的架構 218
10.3.1 各個場景的簡要介紹 218
10.3.2 遊戲架構簡介 219
10.4 Gear VR開發環境的搭建 219
10.5 遊戲選單場景的開發 220
10.5.1 場景的搭建及相關設定 221
10.5.2 各對象的腳本開發及相關
設定 223
10.6 關卡場景的開發 228
10.6.1 場景的搭建 228
10.6.2 攝像機設定及腳本開發 230
10.6.3 小球的腳本開發 234
10.6.4 外掛程式的使用 237
10.6.5 場景機關的開發 240
10.6.6 提示面板的開發 243
10.7 遊戲的最佳化與改進 245
第 11章 科普類AR&VR套用—
星空探索 247
11.1 項目背景以及功能概述 247
11.1.1 項目開發背景概述 247
11.1.2 軟體功能簡介 248
11.2 軟體的策劃及準備工作 250
11.2.1 軟體的策劃 250
11.2.2 資源的準備工作 251
11.3 軟體的架構 252
11.3.1 功能結構介紹 252
11.3.2 各個腳本簡要介紹 253
11.4 天文學基礎以及相關計算公式 255
11.4.1 重要天文坐標系 255
11.4.2 行星、月球、深空天體
簡介 257
11.4.3 行星運行軌跡計算 258
11.4.4 月球運行軌跡計算 261
11.4.5 儒略日計算 264
11.5 觀察星空模組的開發 265
11.5.1 數據的存儲與讀取技術的
開發 265
11.5.2 星座以及深空天體相關內容
的繪製 269
11.5.3 八大行星以及月球的
繪製 272
11.5.4 深空天體介紹場景的
開發 276
11.5.5 天體及連線著色器的
開發 278
11.6 太陽系普通模式的開發 279
11.6.1 太陽系場景的搭建 279
11.6.2 行星及衛星腳本開發 280
11.6.3 太陽特效及小行星帶的
開發 281
11.7 太陽系增強現實(AR)模式的
開發 283
11.7.1 AR開發前期準備 284
11.7.2 場景搭建過程 285
11.7.3 攝像機自動對焦腳本的
開發 287
11.8 太陽系虛擬現實(VR)模式的
開發 288
11.8.1 CardBoard SDK使用 288
11.8.2 構建套用並部署到Android
設備 289
11.8.3 將太陽系場景開發成VR
模式 289
11.9 藍牙搖桿使用及其他設定功能的
實現 290
11.9.1 藍牙搖桿控制腳本開發 290
11.9.2 VR開關、搖桿靈敏度、
音效及時間縮放因子的
開發 291
11.9.3 主選單腳本的開發 291
11.9.4 陀螺儀腳本開發 294
11.10 本章小結 295
參考文獻 296