【Unity學(xué)習(xí)筆記】Introduction to XR VR, AR, and MR Foundations
1. 用Google Cardboard開發(fā)VR游戲
1.1 什么是XR?
1.1.1 XR簡介
主講:Pete Patterson
課程準(zhǔn)備:(1)有一定Unity開發(fā)經(jīng)驗(yàn);(2)可以運(yùn)行Google Cardboard的手機(jī)(Google Cardboard:https://arvr.google.com/cardboard/);(3)Unity 2018.1或之后的版本

課程框架:(1)如何用Google Cardboard啟動VR;(2)Google Cardboard誕生后的VR技術(shù)發(fā)展;(3)精靈寶可夢和其他AR游戲背后的技術(shù);(4)XR的未來
1.1.2 什么是XR

虛擬現(xiàn)實(shí)創(chuàng)造出一個數(shù)字化環(huán)境,它替代了用戶身處的實(shí)際世界環(huán)境。
增強(qiáng)現(xiàn)實(shí)將數(shù)字化內(nèi)容疊加到用戶身處的實(shí)際世界環(huán)境中。
混合現(xiàn)實(shí)是將用戶身處的實(shí)際世界環(huán)境與數(shù)字化內(nèi)容無縫混合的體驗(yàn),兩種環(huán)境可以共存并互動。
深度信息(depth information)允許實(shí)際世界與虛擬世界之間進(jìn)行復(fù)雜互動。


1.2 練習(xí):評估一款XR應(yīng)用
1.2.1評估一款XR應(yīng)用
選擇一款現(xiàn)成的XR應(yīng)用進(jìn)行體驗(yàn),并使用下列模板評估該應(yīng)用。它可能是任何平臺上的VR、AR或MR應(yīng)用。它不一定有多流行或多重要——評估任何應(yīng)用都能獲得有價值的見解。
至少花10分鐘和該應(yīng)用互動并寫下你的反應(yīng)。這項(xiàng)練習(xí)將幫你了解讓應(yīng)用成功的原因,并且當(dāng)你準(zhǔn)備好創(chuàng)建自己的XR應(yīng)用時,它會為你的開發(fā)和設(shè)計決策提供信息。
1.2.2 評估哪些內(nèi)容?
·應(yīng)用名稱與平臺-寫下應(yīng)用名稱和你使用的平臺。
·簡介-用1、2個句子介紹該應(yīng)用。
·目標(biāo)受眾-你認(rèn)為該應(yīng)用是為誰設(shè)計的?它是否成功滿足了這些用戶或受眾的要求?
·XR實(shí)現(xiàn)-該應(yīng)用屬于XR、AR還是MR?如果是VR,它是6DOF(6自由度)還是3DOF(3自由度)?如果是AR或MR,它是手持式(例如iPhone app)還是可穿戴式(例如Hololens)?該應(yīng)用是否利用了該平臺的特定功能?
·支持技術(shù)-該應(yīng)用還利用了其他什么技術(shù)(例如GPS、觸覺反饋等),為什么它們很重要?
·應(yīng)用優(yōu)點(diǎn)-該應(yīng)用的優(yōu)點(diǎn)有哪些?
·有待改進(jìn)的方面-您將如何改進(jìn)該應(yīng)用?
1.3 XR開發(fā):輸入、處理和輸出
1.3.1 輸入
慣性測量裝置(IMUs)-傳感器融合-CPU
理想情況下,VR的IMU和內(nèi)耳感受器之間應(yīng)該無時滯。
移動時間延遲(Motion to Photon Latency):頭部移動和看到虛擬世界相應(yīng)移動之間的時間。
IMU和觸摸屏是XR需要的主要輸入設(shè)備。
1.3.2 處理

GPU:圖形處理單元
1.3.3 輸出
桶形失真(Barrel Distortion)

枕形失真(Pincushion Distortion)

邊緣失真(Edge Distortion)
1.4 挑戰(zhàn):XR應(yīng)用創(chuàng)意
1.4.1 創(chuàng)意頭腦風(fēng)暴
·使用最適合你的媒體和表達(dá)形式(例如打字、在索引卡上手寫、畫草圖、錄音),通過頭腦風(fēng)暴提出6-10種XR應(yīng)用。用盡可能少的詞語/圖像描述每種應(yīng)用。你在這個練習(xí)上花費(fèi)的時間不應(yīng)少于30分鐘。關(guān)于頭腦風(fēng)暴方法的靈感和指南,見https://www.ideou.com/pages/brainstorming。
·檢查你的清單并快速劃去糟糕或有問題的創(chuàng)意。至少劃去半數(shù)創(chuàng)意。
·在剩下的創(chuàng)意中,選出3個你希望進(jìn)一步開發(fā)的創(chuàng)意。
1.4.2 記錄創(chuàng)意
對于選中的3個概念,在一份文檔中填寫下列信息:
·項(xiàng)目標(biāo)題-給你的概念起一個簡短的項(xiàng)目標(biāo)題。
·XR類型和目標(biāo)平臺-決定這是VR、AR還是MR應(yīng)用,以及你的目標(biāo)平臺是什么(例如,Google Cardboard、Oculus Rift、Hololens,等等)。
·簡介-用1-2個描述性句子總結(jié)該應(yīng)用。
·視覺參考- 繪制、粘貼圖形,或者粘貼鏈接到你的應(yīng)用的視覺參考中。這可能是用戶界面的初始草圖,為你提供靈感的應(yīng)用或電影截屏,甚至是你心目中框架美工/APP圖表的樣子。任何有助于溝通應(yīng)用視覺體驗(yàn)的東西都可以。
1.4.3 評估創(chuàng)意
花時間評估并打磨每個創(chuàng)意
·超越預(yù)期-項(xiàng)目概念清晰、易懂、有力、簡潔。視覺參考為書面概念增加了重要細(xì)節(jié)或趣味。
·符合要求-項(xiàng)目概念完整充分。視覺參考明確呈現(xiàn)出概念并與之息息相關(guān)。
·不符合要求-項(xiàng)目概念不完整或過度模糊或一般化。視覺參考不能明顯呈現(xiàn)概念或與之關(guān)系不明確。
如果你感覺你的創(chuàng)意不符合上述要求,請檢查并重新定義它們,使之成為可行的創(chuàng)意。
2.1 從Google Cardboard到Google Earth中的VR
2.1.1 VR-奇妙年代
2.1.2 揭開VR的神秘面紗

站立式VR體驗(yàn)讓用戶可以在VR屏幕中四處走動。
坐式VR體驗(yàn)假設(shè)用戶坐在椅子上,允許它們用控制器轉(zhuǎn)動。
外向內(nèi)追蹤(Outside in tracking):機(jī)器視野鏡頭朝內(nèi)看向用戶
內(nèi)向外追蹤(Inside out tracking):鏡頭直接裝在頭戴式設(shè)備上
VR的安全問題
-暈動癥(Motion sickness)
-控制器撞到東西或人
-絆到或磕到障礙物
2.2 設(shè)置Unity以便進(jìn)行移動設(shè)備VR開發(fā)
2.2.1 下載Unity Hub
2.2.2 了解Unity Hub
2.2.3 安裝Unity
2.2.4 設(shè)置開發(fā)環(huán)境(僅iOS)
2.2.5 設(shè)置開發(fā)環(huán)境(僅安卓)
設(shè)置-關(guān)于手機(jī)-Build number(按7次)
設(shè)置-開發(fā)者選項(xiàng)-Debugging and enable USB debugging
2.3 在你的設(shè)備上建立VR應(yīng)用
2.3.1 創(chuàng)建新的Unity項(xiàng)目
2.3.2 安裝TextMesh PRO以正確渲染教程項(xiàng)目中的文本
2.3.3 打開Unity中的虛擬現(xiàn)實(shí)支持功能
2.4 挑戰(zhàn):XR產(chǎn)品摘要
2.4.1 選擇一個概念
2.4.2 增加概念文檔的細(xì)節(jié),寫成一份產(chǎn)品摘要
·目標(biāo)受眾
·誰不是目標(biāo)受眾
·市場規(guī)模與銷售渠道(可選)
·XR執(zhí)行
·支持技術(shù)
·關(guān)鍵特征
2.4.3 評估你的產(chǎn)品摘要
?

(1)Edit>Project Settings>Player
(2)點(diǎn)擊Android圖標(biāo),打開安卓設(shè)置菜單
(3)點(diǎn)擊XR Settings菜單,勾選“Virtual Reality Supported”
(4)點(diǎn)擊空列表右下的加號,選擇“Cardboard”
(5)確保“Stereo Rendering Method”設(shè)置為“Single Pass Multiview or Instanced”(安卓)
(6)對于安卓設(shè)備,需打開“Other Settings”菜單,確定Colar Space設(shè)為“Gamma”(許多手機(jī)不支持色彩空間),并將Package Name中的Company and Product Name改為有意義的字段(例如com.YourName.vrMuseum)。最后,將Minimum API Level設(shè)置為“Android 4.4' Kit Kat”(API Level 19)。
2.3.4 導(dǎo)入VR Museum資源包
2.3.5 打開并瀏覽VR博物館場景
2.3.6 在你的設(shè)備上生成并運(yùn)行VR博物館應(yīng)用
用USB線連接手機(jī)和電腦,并點(diǎn)擊“Build and Run”,之后打開Cardboard瀏覽器體驗(yàn)。
2.4 瀏覽VR博物館
2.4.1 運(yùn)行VR博物館應(yīng)用并觀察四周
2.4.2 激活立體模型上方的3DOF/6DOF開關(guān)并觀察結(jié)果
2.4.3 激活明亮/昏暗開關(guān)并觀察結(jié)果
2.4.4 激活活躍/安靜開關(guān)并觀察結(jié)果
2.4.5 激活延遲/平滑開關(guān)并觀察結(jié)果
2.5 VR平臺圖景
2.5.1 手機(jī)VR平臺
2.5.2 房間規(guī)模的VR平臺
2.6 VR App生態(tài)系統(tǒng)
2.6.1 舒適度評級
2.6.2 VR App商店和360視頻
2.6.3 VR App的類別
3. 準(zhǔn)備好跟隨寶可夢來一場心動之旅
3.1 機(jī)器視覺與空間計算
3.1.1 空間計算
3.1.2 MR與VR的區(qū)別

3.1.3 標(biāo)記偵測與面部偵測
3.2 你桌子上有個機(jī)器人
3.2.1 Unity的AR庫、SDK和API




3.2.2 安裝Vuforia SDK
Edit>Project Settings>Player
在XR Settings菜單中點(diǎn)擊Vuforia Augmented Reality
新版本Unity直接安裝Vuforia Engine AR插件
3.2.3 在場景中加入Vuforia AR鏡頭
GameObject>Vuforia>AR Camera
刪掉主鏡頭
3.2.4 生成Image Target
(1)在Vuforia developer portal上創(chuàng)建免費(fèi)的開發(fā)者賬戶:http://developer.vuforia.com/vui/auth/register
(2)在網(wǎng)站上點(diǎn)擊Develop>License Manager>Get Development Key。重命名為“ARLesson”。
(3)從其他資源標(biāo)簽下載壓縮包,它包括你需要的資源。解壓縮后,導(dǎo)入資源包。
(4)回到Vuforia網(wǎng)站,點(diǎn)擊Develop>Target Manager>Add Database,重命名為“VuforiaLesson_Image Targets”。
(5)創(chuàng)建數(shù)據(jù)庫后,點(diǎn)擊并增加新目標(biāo)。選擇Single Image,瀏覽ImageTargetRobot.jpg,設(shè)置寬度為0.07米。命名為“Robot”。
(6)點(diǎn)擊Download Database,然后點(diǎn)擊Download for Unity Editor。導(dǎo)入資源包。
(7)回到Vuforia網(wǎng)站并瀏覽License Manager頁面。點(diǎn)擊“ARLesson”并復(fù)制許可證碼。
(8)在Unity中,找到項(xiàng)目中的VuforiaConfiguration資源,并把許可證碼貼到“App License Key”一欄中。

3.2.5 在場景中加入目標(biāo)
(1)GameObject>Vuforia>Image
(2)使用“VuforiaLesson_ImageTargets”數(shù)據(jù)庫設(shè)置目標(biāo),然后是“Robot”圖像目標(biāo)。

(3)加入RobotAnimated預(yù)制件作為圖像目標(biāo)的子對象。確保其local scale為1。
(4)將場景加入Build Settings并安裝到設(shè)備上。
(5)打印ImageTargetRobot.jpg的實(shí)物圖。當(dāng)你運(yùn)行應(yīng)用程序時,只要將手機(jī)鏡頭對準(zhǔn)該圖像,一個3D機(jī)器人就將顯示出來。
3.3 位置、位置、位置
3.3.1 現(xiàn)實(shí)是你創(chuàng)造出來的樣子
3.3.2 位置是關(guān)鍵
幾個支持Unity的地圖網(wǎng)站:www.mapbox.com、google maps platform
3.3.3 AR的安全問題
4. 我的植入程序不能區(qū)別現(xiàn)實(shí)了
4.1 XR趨同

4.2 XR觸覺學(xué)、硬件趨勢與未來
4.2.1 你能感覺到我嗎?

4.2.2 進(jìn)一步了解觸覺學(xué)
觸覺系統(tǒng)網(wǎng)站https://www.3dsystems.com/haptics-devices/touch
VR locomotion treadmill
https://www.indiegogo.com/projects/jamie-hyneman-s-virtual-reality-electric-shoes-vr#/
https://taclim.cerevo.com/en/
4.2.3 神奇的飛躍
光場光子學(xué):將允許AR中的虛擬物體存在于使用者視野中的任意深度
內(nèi)向外追蹤:使用頭戴式設(shè)備前方的攝像頭追蹤
房間掃描與網(wǎng)格劃分
姿勢與手勢追蹤
6DOF控制器追蹤
眼動追蹤
視網(wǎng)膜凹式渲染:以高于周圍區(qū)域的分辨率描繪使用者注視的區(qū)域
固定視網(wǎng)膜凹式渲染:以高于周圍區(qū)域的分辨率描繪視野中心區(qū)域
語音識別與姿勢識別
4.2.4 XR的未來
Lightweight Render Pipeline for VR(Unity的模塊)
360度視頻錄像
第三方支持
4.3 練習(xí):設(shè)計未來
4.3.1 指導(dǎo)說明
(1)研究最前沿的科技
選擇本節(jié)介紹的一種未來XR技術(shù)或你感興趣的另一種技術(shù),最好和你自己的應(yīng)用概念設(shè)計相關(guān)?;〞r間在網(wǎng)上研究這種技術(shù),記筆記并總結(jié)最有用的網(wǎng)絡(luò)資源鏈接
(2)起草研究總結(jié)
簡短地總結(jié)你的研究。新建并上傳文檔。
(3)應(yīng)用你的研究
重新打開之前完成的應(yīng)用評估或產(chǎn)品簡介,增加要素。
4.3.2 在自我評估
研究摘要
產(chǎn)品簡介/應(yīng)用評估更新