本書較系統(tǒng)地介紹了虛擬現(xiàn)實與增強現(xiàn)實技術(shù)的起源、基本概念、研究發(fā)展、主流開發(fā)平臺與應(yīng)用。在全面介紹虛擬現(xiàn)實與增強現(xiàn)實的基本理論和關(guān)鍵技術(shù)的基礎(chǔ)上,著重介紹了目前主流的開發(fā)平臺和編程技術(shù),并通過若干實例來說明如何應(yīng)用這些開發(fā)工具進(jìn)行工程開發(fā)。 全書分為兩部分: 第1部分(第1~5章)為虛擬現(xiàn)實,主要內(nèi)容包括虛擬現(xiàn)實技術(shù)概述、硬件系統(tǒng)、關(guān)鍵技術(shù)、開發(fā)平臺、程序開發(fā); 第2部分(第6、7章)為增強現(xiàn)實,主要內(nèi)容包括增強現(xiàn)實系統(tǒng)的標(biāo)定以及程序開發(fā)。全書提供了大量應(yīng)用實例,每章后均附有習(xí)題。 本書適合作為高等學(xué)校計算機、信息類等相關(guān)專業(yè)本科高年級學(xué)生的專業(yè)課教材,可幫助學(xué)生掌握虛擬現(xiàn)實與增強現(xiàn)實的基本概念和基礎(chǔ)理論,也可以供相關(guān)領(lǐng)域的專業(yè)技術(shù)人員和科學(xué)研究人員閱讀參考。
近年來,虛擬現(xiàn)實和增強現(xiàn)實技術(shù)在各行各業(yè)得到了廣泛的應(yīng)用,兩者的終目標(biāo)都是打造成一個有真實感的感官輸入環(huán)境。但是虛擬現(xiàn)實是沉浸式的體驗,讓體驗者能夠身臨其境; 而增強現(xiàn)實技術(shù)則是通過與現(xiàn)實世界的結(jié)合,造就了更加真實的效果。
虛擬現(xiàn)實和增強現(xiàn)實本身的理論性很強。本書針對信息類相關(guān)專業(yè)的本科生及工程技術(shù)人員,重點介紹VR和AR的基本概念、基礎(chǔ)理論和程序開發(fā),注重基本理論,輔以大量的程序開發(fā)介紹。為使本教材密切聯(lián)系當(dāng)前技術(shù)發(fā)展需要,使學(xué)習(xí)者能將所學(xué)知識應(yīng)用在實際工作中,本書由高校和公司共同編寫,上海工程技術(shù)大學(xué)的教師負(fù)責(zé)基本概念和基礎(chǔ)理論部分,上海未特芮信息科技有限公司和視 AR公司負(fù)責(zé)程序開發(fā)部分。
本書共7章。第1章是虛擬現(xiàn)實技術(shù)概述,包括虛擬現(xiàn)實的概念、分類和應(yīng)用; 第2章是虛擬現(xiàn)實硬件系統(tǒng),介紹虛擬現(xiàn)實常用的各種設(shè)備; 第3章是虛擬現(xiàn)實關(guān)鍵技術(shù),介紹虛擬現(xiàn)實的立體顯示技術(shù)、環(huán)境建模技術(shù)、聲音合成技術(shù)和人機交互技術(shù),使讀者對虛擬現(xiàn)實的工作原理有更清晰的認(rèn)識; 第4章介紹虛擬現(xiàn)實的技術(shù)開發(fā)平臺Unity以及C#語言相關(guān)知識; 第5章在Unity的基礎(chǔ)上講述程序開發(fā),并給出兩個開發(fā)實例,使讀者快速掌握虛擬現(xiàn)實開發(fā)技術(shù); 第6章是增強現(xiàn)實系統(tǒng)的標(biāo)定,主要講述增強現(xiàn)實的理論基礎(chǔ),包括坐標(biāo)變換、攝像機標(biāo)定和系統(tǒng)標(biāo)定,幫助讀者理解虛擬環(huán)境和現(xiàn)實世界交互的原理,并為進(jìn)一步的程序開發(fā)打下理論基礎(chǔ); 第7章是增強現(xiàn)實程序開發(fā)部分,詳細(xì)介紹了開發(fā)環(huán)境EasyAR的使用,并給出了三維物體識別和跟蹤的開發(fā)實例。
本書可作為高等學(xué)校計算機、信息類等相關(guān)專業(yè)的本科生教材,也可作為信息類工程技術(shù)人員的參考用書。
本書第1章和第6章由趙曉麗編寫,第2章和第3章由張立軍編寫,第4章和第5章由上海未特芮信息科技有限公司的姜鵬編寫,第7章由視 AR公司的創(chuàng)始人兼CEO 張小軍編寫。全書由趙曉麗擔(dān)任主編,完成全書的修改及統(tǒng)稿,內(nèi)蒙古呼倫貝爾學(xué)院的郭松對本書進(jìn)行了校訂。在本書的編寫過程中得到張翔的大力支持,在此表示衷心的感謝。
由于編者水平有限,書中不足之處在所難免,歡迎廣大同行和讀者批評指正。
編者
2021年6月
第1章虛擬現(xiàn)實技術(shù)概述
1.1虛擬現(xiàn)實的概念
1.1.1虛擬現(xiàn)實的發(fā)展
1.1.2虛擬現(xiàn)實的特征
1.1.3虛擬現(xiàn)實系統(tǒng)的構(gòu)成
1.2虛擬現(xiàn)實的分類
1.2.1桌面式VR系統(tǒng)
1.2.2沉浸式VR系統(tǒng)
1.2.3增強式VR系統(tǒng)
1.2.4分布式VR系統(tǒng)
1.3虛擬現(xiàn)實的應(yīng)用
1.3.1軍事領(lǐng)域
1.3.2醫(yī)學(xué)領(lǐng)域
1.3.3城市規(guī)劃領(lǐng)域
1.3.4教育領(lǐng)域
1.3.5商業(yè)領(lǐng)域
1.3.6娛樂與藝術(shù)領(lǐng)域
1.3.7科學(xué)計算可視化
1.3.8旅游領(lǐng)域
習(xí)題
第2章虛擬現(xiàn)實硬件系統(tǒng)
2.1建模設(shè)備
2.2顯示設(shè)備
2.2.1計算機顯示屏立體顯示設(shè)備
2.2.2洞穴式顯示系統(tǒng)CAVE
2.2.3頭戴式顯示器
2.3聲音設(shè)備
2.4交互設(shè)備
2.4.1數(shù)據(jù)手套
2.4.2運動跟蹤系統(tǒng)
2.4.3數(shù)據(jù)外套
習(xí)題
第3章虛擬現(xiàn)實關(guān)鍵技術(shù)
3.1立體顯示技術(shù)
3.1.1立體視覺產(chǎn)生機理
3.1.2雙目立體視覺
3.1.3三維顯示器的立體感
3.1.4正交偏振三維顯示系統(tǒng)
3.2環(huán)境建模技術(shù)
3.2.1幾何建模
3.2.2物理建模
3.2.3運動建模
3.3聲音合成技術(shù)
3.3.1三維虛擬聲音
3.3.2三維虛擬聲音的建模方法
3.3.3語音的合成
3.4人機交互技術(shù)
3.4.1視覺通道
3.4.2聽覺通道
3.4.3力觸覺通道
習(xí)題
第4章技術(shù)開發(fā)平臺
4.1主流開發(fā)平臺的硬件設(shè)備
4.2主流開發(fā)平臺引擎
4.2.1Unity引擎
4.2.2UE引擎
4.3VR系統(tǒng)的編程語言
4.3.1C#語言的優(yōu)勢
4.3.2C#語言與Unity引擎的結(jié)合
4.4C#基礎(chǔ)知識
4.4.1變量
4.4.2標(biāo)識符和關(guān)鍵字
4.4.3數(shù)據(jù)類型轉(zhuǎn)換
4.4.4布爾型、字符和字符串
4.4.5常用的字符編碼
4.4.6常見的程序錯誤和異常
4.4.7流程控制語句
4.4.8數(shù)組
4.5C#面向?qū)ο?/p>
4.5.1類的定義方法
4.5.2類的成員變量與成員函數(shù)的調(diào)用
習(xí)題
第5章虛擬現(xiàn)實程序開發(fā)
5.1Unity基礎(chǔ)知識
5.1.1Unity的歷史
5.1.2下載與安裝
5.1.3Unity編輯器
5.2場景創(chuàng)建
5.2.1游戲物體與組件
5.2.2場景視圖操作
5.2.3游戲地形
5.3物理引擎
5.3.1屬性
5.3.2詳細(xì)描述
5.3.3碰撞器
5.4粒子系統(tǒng)
5.4.1主面板Particle System
5.4.2Emission模塊
5.4.3粒子系統(tǒng)參數(shù)設(shè)置
5.4.4粒子動畫
5.4.5碰撞檢測
5.4.6新建粒子發(fā)射器
5.4.7粒子系統(tǒng)實例
5.5Unity腳本
5.5.1按順序創(chuàng)建腳本
5.5.2執(zhí)行順序
5.5.3腳本的編譯順序
5.6用戶界面
5.6.1簡述
5.6.2創(chuàng)建菜單
5.6.3放置控件
5.6.4自動布局
5.6.5樣式和皮膚
5.6.6Image組件
5.6.7Text組件
5.6.8創(chuàng)建一個界面
5.7Mecanim動畫系統(tǒng)
5.7.1基本知識
5.7.2動畫應(yīng)用
5.8導(dǎo)航系統(tǒng)
5.8.1導(dǎo)航面板
5.8.2導(dǎo)航步驟
5.8.3上下斜坡
5.8.4自動尋路
5.8.5導(dǎo)航組件
5.9音樂音效
5.9.1音樂組件
5.9.2播放音樂的例子
5.9.3三維音效
5.10VR實例
5.10.1飛機引擎拆裝
5.10.2VR房地產(chǎn)項目講解
習(xí)題
第6章增強現(xiàn)實系統(tǒng)的標(biāo)定
6.1系統(tǒng)幾何模型及坐標(biāo)變換
6.1.1圖像坐標(biāo)系和像素坐標(biāo)系
6.1.2圖像坐標(biāo)系與攝像機坐標(biāo)系
6.1.3攝像機坐標(biāo)系與世界坐標(biāo)系
6.1.4攝像機標(biāo)定模型
6.1.5攝像機的畸變
6.1.6標(biāo)定參數(shù)
6.2攝像機標(biāo)定
6.2.1攝像機標(biāo)定方法分類
6.2.2直接線性變換方法
6.2.3Tsai兩步標(biāo)定方法
6.2.4張正友平面標(biāo)定方法
6.2.5基于主動視覺攝像機標(biāo)定方法
6.2.6基于圓環(huán)點自標(biāo)定方法
6.2.7基于Kruppa方程自標(biāo)定方法
6.2.8基于二次曲面自標(biāo)定方法
6.3顯示系統(tǒng)的增強現(xiàn)實系統(tǒng)標(biāo)定
6.3.1視頻透視式頭盔顯示器的標(biāo)定
6.3.2光學(xué)透視式頭盔顯示器的標(biāo)定
習(xí)題
第7章增強現(xiàn)實程序開發(fā)
7.1EasyAR SDK介紹
7.2EasyAR入門個AR應(yīng)用HelloAR
7.3EasyAR進(jìn)階多圖識別
7.4EasyAR進(jìn)階掃圖播放視頻
7.5EasyAR進(jìn)階三維物體識別與跟蹤
習(xí)題
參考文獻(xiàn)