VR 與 AR 開發高級教程 : 基於 Unity, 2/e

吳亞峰 於復興

  • 出版商: 人民郵電
  • 出版日期: 2020-10-01
  • 售價: $599
  • 貴賓價: 9.5$569
  • 語言: 簡體中文
  • 頁數: 396
  • ISBN: 7115542872
  • ISBN-13: 9787115542878
  • 相關分類: 遊戲引擎 Game-engineVR/AR
  • 立即出貨 (庫存 < 4)

  • VR 與 AR 開發高級教程 : 基於 Unity, 2/e-preview-1
  • VR 與 AR 開發高級教程 : 基於 Unity, 2/e-preview-2
VR 與 AR 開發高級教程 : 基於 Unity, 2/e-preview-1

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

相關主題

商品描述

本書主要介紹AR與VR應用的開發流程。本書共11章。第1章主要介紹了AR應用開發的基礎知識,第2~4章介紹了AR開發中所廣泛使用的Vuforia與ARCore引擎,第5章介紹基於小米VR的應用開發,第6~8章分別介紹了基於HTC VIVE與Leap Motion設備的應用開發步驟,第9章介紹了當前VR與AR的創新風口,最後兩章分別給出了一個完整的VR游戲案例與一個結合AR、VR的科普類應用案例。

本書適合VR、AR應用開發方面的專業人士閱讀。

作者簡介

吳亞峰,本科畢業於北京郵電大學,碩士畢業於澳大利亞卧龍崗大學,1998年開始從事Java應用的開發,有10多年的Java開發與培訓經驗,主要的研究方向為Vulkan、OpenGL ES、手機游戲以及VR/AR。他同時為3D游戲開發人員、VR/AR軟件工程師,並兼任百納科技軟件培訓中心首席培訓師,近十年來為數十家著名企業培養了上千名高級軟件開發人員,曾編寫過《OpenGL ES 3x游戲開發》(上下捲)、《Unity 案例開發大全》(第1版~第2版)、《VR與AR開發高級教程:基於Unity》《H5和WebGL 3D開發實戰詳解》《Android應用案例開發大全》(第1版~第4版)、《Android游戲開發大全》(第1版~第4版)等多本暢銷技術圖書,2008年開始關註Android平臺下的3D應用開發,並開發了一系列優秀的Android應用程序與3D游戲。

於復興,任職於華北理工大學信息工程學院,唐山市優秀教師,從事電腦方面的工作16年,在軟件開發和電腦教學方面有著豐富的經驗。他主持過省市級項目5項,獲得過11項國家專利,曾為多家單位設計並開發了管理信息系統,並在各種科技刊物上發表多篇相關論文。2014年開始關註VR/AR應用的開發,參與開發了多款手機娛樂、游戲應用。

目錄大綱

第 1章 AR應用開發的基礎知識 1

1.1 引言 1

1.2 AR插件 2

1.3 Unity開發環境的搭建 2

1.3.1 Windows平臺下Unity的

下載與安裝 3

1.3.2 macOS平臺下Unity的下載與

安裝 6

1.3.3 把目標平臺的SDK集成到

Unity中 9

1.4 Vuforia開發環境的搭建 13

1.5 本章小結 16

1.6 習題 17

第 2章 Vuforia的核心功能 18

2.1 圖片掃描 18

2.2 圓柱體識別 19

2.2.1 圖片規格 19

2.2.2 如何獲取實際物體的

具體參數 19

2.2.3 製作商標圖片的註意事項 20

2.2.4 如何達到最好的效果 23

2.3 多目標識別 23

2.3.1 多目標識別的原理 23

2.3.2 對多目標識別對象的選擇 24

2.4 下一代條形碼識別——VuMark 25

2.5 用戶自定義目標 26

2.5.1 適合追蹤的場景和物體 26

2.5.2 用戶自定義目標預製件 26

2.6 虛擬按鈕 27

2.6.1 按鈕的設計以及佈局 27

2.6.2 虛擬按鈕的相關特性 27

2.6.3 虛擬按鈕的擺放 28

2.7 物體識別 29

2.7.1 可識別物體 29

2.7.2 下載Vuforia對象掃描儀 29

2.7.3 掃描3D物體的步驟 30

2.8 雲識別 32

2.8.1 雲識別的優勢以及註意

事項 32

2.8.2 雲識別數據庫與目標的

創建 32

2.9 模型識別 35

2.9.1 模型識別的註意事項 35

2.9.2 模型目標的製作 35

2.9.3 創建模型目標的註意事項 37

2.10 水平面識別 37

2.11 本章小結 38

2.12 習題 38

第3章 關於Vuforia核心功能的

官方案例 39

3.1 官方案例下載與AR Camera參數

詳解 39

3.2 圖片識別案例詳解 43

3.2.1 預製件的通用腳本 43

3.2.2 運行結果 50

3.2.3 開發流程 50

3.3 圓柱識別案例詳解 54

3.3.1 運行結果 54

3.3.2 開發流程 55

3.4 多目標識別案例詳解 58

3.4.1 運行結果 59

3.4.2 開發流程 59

3.5 VuMark案例詳解 63

3.5.1 運行結果 64

3.5.2 開發流程 64

3.6 自定義目標識別案例詳解 67

3.6.1 運行結果 67

3.6.2 開發流程 68

3.7 虛擬按鈕案例詳解 74

3.7.1 運行結果 74

3.7.2 開發流程 74

3.8 3D物體識別案例詳解 79

3.8.1 運行結果 79

3.8.2 開發流程 80

3.9 雲識別案例詳解 82

3.9.1 運行結果 83

3.9.2 開發流程 83

3.10 模型目標識別案例詳解 91

3.10.1 運行結果 91

3.10.2 開發流程 92

3.11 水平面識別案例詳解 93

3.11.1 主要腳本 93

3.11.2 運行結果 97

3.11.3 開發流程 97

3.12 本章小結 98

3.13 習題 98

第4章 ARCore 99

4.1 ARCore基礎知識 99

4.2 ARCore 圖片識別功能 102

4.2.1 運行結果 103

4.2.2 註意事項 103

4.2.3 案例詳解 104

4.3 ARCore平面識別功能 108

4.3.1 運行結果 109

4.3.2 案例詳解 109

4.4 ARCore雲錨點功能 115

4.4.1 運行結果 115

4.4.2 案例詳解 116

4.5 本章小結 123

4.6 習題 123

第5章 小米VR應用開發 124

5.1 小米VR SDK 124

5.1.1 下載與導入小米VR SDK並

運行官方案例 125

5.1.2 SDK官方預製件 128

5.1.3 SDK中的腳本文件 129

5.2 小米VR SDK官方案例 130

5.3 一個綜合案例 132

5.3.1 案例策劃與準備工作 133

5.3.2 創建項目與搭建場景 134

5.3.3 GameManager.cs腳本的

編寫 137

5.3.4 moveController.cs腳本的

編寫 139

5.4 本章小結 140

5.5 習題 140

第6章 HTC VIVE平臺下的VR開發

基礎 141

6.1 HTC VIVE基礎知識 142

6.1.1 HTC VIVE設備的安裝 144

6.1.2 VIVEPORT和手機通知 148

6.2 SteamVR SDK基礎知識 151

6.2.1 SteamVR SDK的下載與

導入 151

6.2.2 SteamVR SDK的目錄

結構 152

6.3 第 一個HTC VIVE項目 154

6.3.1 項目的搭建 154

6.3.2 [CameraRig]預製件 156

6.4 控制手柄的按鈕監聽 158

6.4.1 SteamVR_Controller.cs

腳本 159

6.4.2 MyControllerEvent.cs腳本 162

6.5 SteamVR SDK案例 164

6.5.1 場景功能 164

6.5.2 代碼 165

6.6 SteamVR SDK的關鍵腳本 166

6.6.1 凝視處理 167

6.6.2 激光射線 169

6.6.3 追蹤渲染 172

6.6.4 按鈕監聽 173

6.7 本章小結 176

6.8 習題 176

第7章 HTC VIVE平臺下的VR開發

進階 177

7.1 VRTK的安裝與使用 177

7.2 控制手柄的按鈕監聽 178

7.2.1 按鈕監聽接口 179

7.2.2 按鈕監聽接口的調用 183

7.3 光線的創建 185

7.3.1 光線開發的基本知識 186

7.3.2 光線案例的開發 190

7.4 光線UI交互拾取 193

7.4.1 光線UI交互拾取開發的

基本知識 193

7.4.2 光線UI交互拾取案例的

開發 194

7.5 基礎傳送 199

7.5.1 傳送技術 199

7.5.2 傳送案例的開發 204

7.6 物體的抓取與使用 207

7.6.1 基本知識 207

7.6.2 抓取案例 212

7.7 設置控制器上按鈕的標簽 215

7.7.1 按鈕的標簽 215

7.7.2 案例詳解 215

7.8 綜合案例 218

7.8.1 運行結果 219

7.8.2 場景的搭建 219

7.8.3 動畫的製作 223

7.8.4 腳本的開發 224

7.9 本章小結 232

7.10 習題 232

第8章 Leap Motion在開發中的

應用 233

8.1 Leap Motion開發環境配置 233

8.1.1 Leap Motion驅動的下載與

安裝 234

8.1.2 官方SDK與Example

下載 235

8.2 Leap_Motion_Core_Assets_

4.4.0.unitypackage模塊 236

8.2.1 使用預製件獲取模擬手 236

8.2.2 Leap的手模型 239

8.2.3 Leap Motion的服務提供者

腳本 242

8.2.4 Leap Motion與Vive頭盔的

結合 244

8.3 Leap Motion中擴展的交互

功能 245

8.3.1 交互案例的導入及相關

設置 245

8.3.2 Leap Motion交互案例 247

8.4 Leap Motion圖形渲染器的

功能 271

8.4.1 Leap Motion圖形渲染器的

主要腳本 271

8.4.2 烘焙渲染器官方案例 272

8.4.3 扭曲空間官方案例 274

8.4.4 動態渲染器官方案例 276

8.4.5 大型對象官方案例 278

8.4.6 錶面著色器官方案例 280

8.5 手模塊 282

8.6 本章小結 286

8.7 習題 286

第9章 VR與AR創新風口 287

9.1 虛擬現實技術 287

9.2 增強現實技術 291

9.3 混合現實技術 295

9.4 本章小結 297

9.5 習題 297

第 10章 HTC VIVE游戲——VR化的

《俄羅斯方塊》 298

10.1 背景與操作過程概述 298

10.1.1 游戲背景概述 298

10.1.2 游戲的操作過程 299

10.2 游戲的策劃與開發前的準備

工作 300

10.2.1 游戲的策劃 301

10.2.2 使用Unity開發游戲前的

準備工作 301

10.3 游戲的架構 302

10.3.1 主場景 302

10.3.2 游戲架構 303

10.4 HTC VIVE開發環境的搭建 304

10.5 游戲主場景的開發 305

10.5.1 場景的搭建 305

10.5.2 UI的搭建 308

10.5.3 游戲攝像機和控制器 313

10.5.4 不同形狀方塊的實現 317

10.5.5 排行榜的實現 323

10.5.6 核心腳本的開發 325

10.5.7 其他功能的實現 330

10.6 游戲的優化與改進 334

第 11章 科普類AR&VR應用——星空

探索 335

11.1 開發背景以及應用的功能 335

11.1.1 開發背景 335

11.1.2 應用的功能 336

11.2 應用的策劃與準備工作 339

11.2.1 應用的策劃 339

11.2.2 資源的準備 340

11.3 應用的架構 341

11.3.1 應用的結構 341

11.3.2 各個腳本的簡要介紹 342

11.4 天文學基礎以及相關計算

公式 345

11.4.1 重要天文坐標系 345

11.4.2 行星、月球、深空天體

簡介 347

11.4.3 行星位置的計算 348

11.4.4 月球位置的計算 352

11.4.5 儒略日等的計算 355

11.5 星空觀察模塊的開發 356

11.5.1 天體數據的存儲與讀取 357

11.5.2 星座以及深空天體相關內容

的繪制 362

11.5.3 八大行星以及月球的

繪制 366

11.5.4 深空天體介紹場景的

開發 371

11.5.5 天體與連線著色器的

開發 373

11.6 太陽系普通模式的開發 375

11.6.1 太陽系場景的搭建 375

11.6.2 行星與衛星運行腳本的

開發 376

11.6.3 太陽特效的實現與小行星帶的

開發 378

11.7 太陽系增強現實模塊的開發 380

11.7.1 AR開發前期準備 380

11.7.2 場景搭建過程 381

11.7.3 攝像機自動對焦腳本的

開發 383

11.8 太陽系虛擬現實模塊的開發 384

11.8.1 使用CardBoard SDK 384

11.8.2 構建應用並部署到Android

設備 385

11.8.3 將太陽系場景開發成VR

模式 386

11.9 藍牙搖桿的使用與其他設置功能

的實現 390

11.9.1 YaoGanControl.cs腳本的

開發 390

11.9.2 VR開關、藍牙搖桿靈敏度、

音效與時間縮放因子的

設置 391

11.9.3 實現主界面的腳本 391

11.9.4 MobileGyro.cs腳本的

開發 395

11.10 本章小結 396