沈浸式媒體技術(VR+AR+MR)
張燕翔
商品描述
本書針對正在成為新一代沈浸式媒體技術的虛擬現實(VR)、增強現實(AR)和混合現實(MR)三大技術的典型應用場景,系統介紹沈浸式媒體技術的多種技術形態和應用場景,包括基於建模的VR、基於圖像的VR、移動AR、AI在VR中的應用、 Cardboard VR、FPS VR遊戲、虛擬物體展示、混合現實、基於Web的VR/AR/MR、混合現實錄制、虛擬拍攝與虛擬直播等方面的知識,結合文化、教育、娛樂方面的案例,從多個角度探索這些技術的魅力。 本書內容兼顧前沿性與實用性,適合作為高等學校數字媒體、新媒體等相關專業的教學用書。
作者簡介
張燕翔,中國科大科技傳播系副教授,中國圖學學會互聯網圖學專委會理事、CCF計算藝術分會執行委員、中國攝影家協會會員、國際美學協會會員,研究方向為科技藝術、虛擬現實、人機交互。相關領域發表英文論文60多篇,出版著作近十部,國家級教材和省部級教材三部。獲得國家級獎勵5項,省部級獎勵二十多項。著作《當代科技藝術》首次提出科技藝術的概念,受藝術界和科普界關註,已5次獲省部級以上獎勵,2022年,科技藝術成為教育部新增本科專業。
目錄大綱
目錄
第1章虛擬現實技術概論1
1.1虛擬現實技術的產生與發展1
1.2虛擬現實系統的特征2
1.3虛擬現實技術的應用2
1.4虛擬現實的基礎技術3
1.4.1雙目立體視覺3
1.4.23D建模技術4
1.4.3自然交互技術4
1.5虛擬現實技術的分類5
1.6虛擬現實技術的最新發展6
1.7虛擬現實技術的應用前景6
第2章基於圖像的虛擬現實: 全景虛擬現實技術8
2.1基於全景的虛擬漫遊8
2.1.1全景拍攝8
2.1.2全景相機及其拍攝技巧9
2.1.3全景漫遊9
2.1.4全景漫遊的應用領域10
2.2全景漫遊制作11
2.2.1導入全景圖片11
2.2.2設置初始場景與默認視圖11
2.2.3制作Tour Map12
2.2.4用皮膚功能實現導覽13
2.3基於雲平臺實現全景VR展示15
2.3.1全景漫遊的發布與展示15
2.3.2物體全景展示18
第3章基於建模的VR還原展示21
3.1SketchUp建模基本步驟21
3.1.1準備工作21
3.1.2SketchUp建築架構21
3.1.3SketchUp細節刻畫23
3.2Lumion材質及渲染基本步驟24
3.2.1SketchUp模型導入Lumion24
3.2.2Lumion材質賦予24
3.2.3Lumion細節刻畫25
3.2.4Lumion動畫渲染及VR全景26
第4章移動增強現實展示技術28
4.1基於Web及移動端的AR創作平臺28
4.1.1Blippar28
4.1.2Vuforia29
4.1.3Vuforia的使用流程29
4.2AR Foundation及其使用30
4.2.1開發框架搭建30
4.2.2AR Foundation的Image Tracking 圖像跟蹤31
4.2.3AR Foundation的距離控制32
4.2.4AR Foundation的平面檢測與物體放置32
4.2.5AR Foundation的3D物體識別跟蹤33
4.2.6AR Foundation的人臉檢測跟蹤36
4.2.7陰影效果制作37
4.3基於繪畫的AR立體海報制作37
4.3.1繪畫準備37
4.3.2軟件調試37
4.3.3靜態AR海報39
4.3.4動態AR海報43
4.4微信小程序AR開發 43
4.4.1微信官方XRFrame開發指南43
4.4.2Kivicube插件快速入門44
4.4.3開發建議45
第5章基於AI的三維內容創建及網絡發布46
5.1AI在三維創作中的應用46
5.1.1基於Nerf的三維掃描46
5.1.2基於文本生成3D47
5.2相關應用介紹47
5.2.1Luma AI47
5.2.23Dpresso48
5.3視頻+AI生成3D模型的拍攝方法48
5.3.1手機環繞拍攝48
5.3.2旋轉臺拍攝模式49
5.43D Gaussian Splatting使用51
5.4.1核心概念簡介51
5.4.2主流軟件工具教學52
5.4.3推薦工作流程53
5.4.4官方 GitHub 項目簡介 54
5.4.5基於全景相機與3D高斯潑濺實現三維重建54
第6章Cardboard VR開發55
6.1Cardboard 紙盒55
6.1.1裸眼3D55
6.1.2Cardboard55
6.2Unity56
6.3Node.js57
6.4Blender58
6.5Cardboard 紙盒的組裝和調試59
6.6Unity導入Cardboard的場景和基本配置60
6.6.1資源包的導入60
6.6.2配置Android項目64
6.7手柄鍵位與輸入管理器68
6.8Unity和Node.js的通信嘗試71
6.9Blender建模與導入76
6.9.1軟件下載76
6.9.2軟件使用76
6.9.3模型導入78
6.10構建多人參與的元宇宙場景81
6.11官方例程81
6.12多玩家場景內容設計83
6.13玩家角色的構建83
6.14通信接口與服務器端的編寫84
6.15角色運動84
第7章VR科普讀物制作 87
7.1制作準備87
7.1.1Unity安裝87
7.1.2VS軟件安裝87
7.1.3資源準備88
7.2科普讀物設計88
7.2.1科普讀物概念設計88
7.2.2明確工程任務88
7.3圖片墻場景搭建89
7.3.1圖片墻搭建89
7.3.2圖片墻旋轉設置89
7.3.3VR搭建準備 91
7.3.4VR場景搭建93
7.3.5VR視野旋轉94
7.3.6圖片交互效果(1)95
7.3.7圖片交互效果(2)97
7.3.8VR端UI交互99
7.4模型場景搭建100
7.4.1模型的檢索100
7.4.2模型的展示101
7.4.3輔助功能實現102
7.7.4手柄輸入檢測103
7.5場景切換設置105
7.5.1場景切換105
7.5.2場景切換中的信息傳遞106
第8章FPS類VR遊戲開發109
8.1Unreal Engine與Blueprint109
8.2角色藍圖的創建——Pawn110
8.2.1藍圖的類110
8.2.2角色藍圖的組件110
8.2.3枚舉類型的準備111
8.2.4關於GrabComponent的修改112
8.2.5關於TryGrab的修改112
8.2.6關於TryRelease的修改115
8.2.7相機與手部動畫初始化116
8.2.8手部動畫藍圖118
8.2.9瞬移120
8.2.10搖桿移動125
8.3道具藍圖的創建——槍械127
8.3.1手槍類藍圖設計127
8.3.2步槍類藍圖設計129
8.3.3沖鋒槍類藍圖設計130
8.4人工智能藍圖的創建131
8.4.1AI動畫131
8.4.2AI藍圖134
8.4.3AI槍械137
8.4.4AI行為樹139
8.4.5AI Controller142
8.5開發環境143
第9章UE制作交互車145
9.1案例概述145
9.1.1編輯界面145
9.1.2成果預覽145
9.1.3功能介紹145
9.2素材獲取147
9.2.1具體目標147
9.2.2具體步驟147
9.3鼠標控制車門和後蓋開關151
9.3.1具體目標151
9.3.2實現原理151
9.3.3具體步驟151
9.4鼠標實現視角控制166
9.4.1具體目標166
9.4.2實現原理166
9.4.3具體步驟166
9.5UI按鈕更改車輛顏色172
9.5.1具體目標173
9.5.2實現原理173
9.5.3具體步驟173
9.6UI按鈕實現環境光的開關186
9.6.1具體目標186
9.6.2實現原理186
9.6.3具體步驟186
9.7UI按鈕實現車燈開關188
9.7.1具體目標188
9.7.2實現原理188
9.7.3具體步驟189
9.8UI按鈕實現鏡頭切換196
9.8.1具體目標196
9.8.2實現原理196
9.8.3具體步驟197
第10章混合現實203
10.1混合現實與增強現實203
10.2混合現實產品204
10.3混合現實的應用場景204
10.4混合現實開發: Mixed Reality Toolkit205
10.4.1Mixed Reality Toolkit 205
10.4.2MRTK的核心功能206
10.4.3全息圖與空間音效206
10.4.4混合現實MR場景的基本元素207
10.5HoloLens 2交互方式及實現207
10.5.1用手直接操作物體207
10.5.2按鈕209
10.5.3語音反饋210
10.5.4滑桿反饋212
10.5.5案例: 通過滑桿改變物體顏色212
10.5.6基於BuildingBlock的交互設計213
10.6跨設備混合現實: Azure空間定位點216
10.6.1Azure空間定位點216
10.6.2空間定位點應用情形217
10.6.3創建及使用空間定位點217
第11章基於WebGL的VR、AR與MR218
11.1AFrame218
11.1.1基礎語法218
11.1.2定義物體與動畫219
11.1.3定義交互220
11.1.4事件偵聽220
11.1.5基本體建模案例: 地球221
11.1.6全景展示案例222
11.1.7GLTF模型展示案例222
11.1.8基於AFrame的AR223
11.1.9四季原理AR案例224
11.2X3D與X3DOM225
11.2.1基本幾何體 226
11.2.2基本幾何體: 球體與星球228
11.2.3全景展示228
11.2.4動畫228
11.2.5交互229
11.3Three.js 230
11.3.1基本幾何模型的創建230
11.3.2使用Three.js創建3D場景232
11.3.3Three.js中創建燈光233
11.3.4Three.js加載3D模型文件234
11.3.5動畫235
11.3.6交互239
11.4基於Three.js實現混合現實功能247
11.5使用Babylon.js創建HoloLens混合現實應用249
11.5.1創建基本 html標記249
11.5.2創建場景250
11.5.3添加3D元素250
11.5.4添加相機250
11.5.5添加燈光251
11.5.6添加互動251
11.5.7啟用WebXR沈浸式體驗252
11.6基於網頁的協同式VR253
11.6.1VR協同對分布式網絡的需求254
11.6.2VR在線協同的分布式數據庫255
11.6.3用戶管理和DB、ASP255
11.6.4分布式虛擬環境和Web255
11.6.5設計與實施255
11.6.6實施259
11.6.7每個參與者的拓展259
11.6.8教師教學演示過程260
11.6.9教師將權限交予學生260
11.7基於AI賦能3D Web開發261
11.7.1引言: AI在3D Web開發中的新角色261
11.7.2核心工具與技術棧261
11.7.3教程核心: AI輔助的開發工作流262
11.7.4場景搭建示例: AFrame (最快的方式)262
11.7.5場景搭建示例: Three.js (最靈活的方式)263
11.7.6場景搭建示例: X3DOM (聲明式的方式)265
11.7.7AI 輔助交互與調試266
11.7.8總結: AI 驅動的開發新範式267
第12章混合現實錄制、虛擬拍攝與虛擬直播268
12.1混合現實錄制268
12.1.1面向Meta Quest的混合現實錄制269
12.1.2面向Pico Neo的混合現實錄制270
12.1.3開發支持混合現實錄制的PicoVR遊戲270
12.2虛擬拍攝272
12.2.1HTC VIVE MARS CamTrack272
12.2.2HTC VIVE MARS CamTrack設置273
12.3虛擬直播274
12.3.1虛擬直播的發展經歷274
12.3.2強相關虛擬直播的受眾——以ASOUL為例277
12.3.3弱相關虛擬直播的受眾278
12.3.42D直播工作流278
12.3.53D直播工作流282
12.3.6虛擬直播企劃的運營現狀284







