此教程相關(guān)的詳細教案,文檔,思維導(dǎo)圖和工程文件會放入 Spatial XR 社區(qū)。這是一個高質(zhì)量 XR 社區(qū),博主目前在內(nèi)擔任 XR 開發(fā)的講師。此外,該社區(qū)提供教程答疑、及時交流、進階教程、外包、行業(yè)動態(tài)等服務(wù)。
社區(qū)鏈接:
Spatial XR 高級社區(qū)(知識星球)
Spatial XR 高級社區(qū)(愛發(fā)電)
??教程說明
這期教程我將會介紹如何在 Unity 中,利用 Meta XR SDK,去配置 Meta Quest 中的 Passthrough 透視功能。通過 Quest 的視頻透視(VST)技術(shù),我們能夠戴上頭顯看到一個虛擬與現(xiàn)實互相融合的世界。因此開啟透視是開發(fā) Quest MR 功能最基本的步驟。通過這期教程的配置,我們能夠戴上頭顯看到現(xiàn)實環(huán)境,并且能夠看到現(xiàn)實環(huán)境中的虛擬物體。
環(huán)境配置可參考:https://blog.csdn.net/qq_46044366/article/details/133967343
配置一個基本的玩家物體可以參考前幾期教程:https://blog.csdn.net/qq_46044366/article/details/134097455
系列教程專欄:https://blog.csdn.net/qq_46044366/category_12118293.html
配套的視頻鏈接:
https://www.bilibili.com/video/BV14e41127eM
?電腦操作系統(tǒng):Windows 11
使用的 VR 設(shè)備:Meta Quest 3(Quest 系列都適用)
使用的 Unity 版本:2022.3.15 f1c1 LTS (這里推薦使用 2021 及以上的 LTS 版本)
Meta XR SDK 版本:v60
官方文檔:https://developer.oculus.com/documentation/unity/unity-gs-overview/
官方 MR 透視配置文檔:
https://developer.oculus.com/documentation/unity/unity-passthrough-gs/
最終效果:
??配置透視的串流調(diào)試功能
開啟了這個功能后,就可以在設(shè)備與電腦串流的條件下運行支持透視的軟件。這時候可以直接通過點擊 Unity 編輯器中的運行按鈕,在頭顯中看到透視的場景。這樣就更加方便調(diào)試,不用每次打包到頭顯中運行。
透視串流調(diào)試的要求:
- Quest 的系統(tǒng)版本要在 v37 及以上。
- Oculus 電腦客戶端軟件的版本要在 v37 及以上,并且確保設(shè)置-> Beta 測試版中的 “開發(fā)者 Runtime 功能” 和 “通過 Oculus Link 透視” 選項是開啟的。
- 使用 USB 3.0 的數(shù)據(jù)線將頭顯和電腦進行串流。
官方說明:
https://developer.oculus.com/documentation/unity/unity-passthrough-use-over-link/
https://developer.oculus.com/documentation/unity/unity-link/
??第一步:設(shè)置 OVRManager
首先我們新建一個場景,刪除場景中的 Main Camera。然后搜索 OVRCameraRig 這個 Prefab(將搜索的選項改為 In Packages 或者 All),將它拖到場景中。這個物體就相當于 XR 中的玩家物體。
找到 OVRCameraRig 中的 OVR Manager 腳本,接下來需要做的步驟是:
1) 在 Quest Features 的 General 選項中,將 Passthrough Support 設(shè)為 Supported 或者 Required ,這樣打包的應(yīng)用就能開啟透視功能。
2)勾選 Insight Passthrough 下的 Enable Passthrough。這樣在應(yīng)用啟動時就會初始化透視的功能。如果不想在程序啟動時就初始化,可以取消勾選 Enable Passthrough,然后在自己的腳本中通過代碼設(shè)置 OVRManager.instance.isInsightPassthroughEnabled = true/false 來控制透視的開啟和關(guān)閉,這里的作用相當于手動勾選或取消 Enable Passthrough。
另外,OVR Manager 中有個 Tracking Origin Type 參數(shù)需要注意一下,它相當于追蹤的參考系,參數(shù)分為 Eye Level, Floor Level 和 Stage。
這三個參數(shù)的區(qū)別可以參考我之前寫的這篇文章:https://blog.csdn.net/qq_46044366/article/details/131616046
我將 Tracking Origin Type 設(shè)為了 Floor Level,另外 Target Devices 需要勾選上自己使用的設(shè)備:
??第二步:添加 OVRPassthroughLayer 腳本
接下來,我們隨便在一個物體上添加 OVRPassthroughLayer 腳本,我是新建了一個空物體,然后把腳本上的 Placement 設(shè)為 Underlay:
Quest 中透視的現(xiàn)實場景相當于單獨的一個圖層,而我們的虛擬場景和虛擬物品相當于另外的圖層。
當 Placement 設(shè)置成 Underlay 的時候,相當于透視的現(xiàn)實圖層置于應(yīng)用圖層的最底端,這時候現(xiàn)實圖層位于虛擬圖層之下。可以理解為現(xiàn)實場景充當背景,虛擬物體疊加在現(xiàn)實場景上,也可以理解為虛擬物體會把現(xiàn)實物體遮擋住。
當 Placement 設(shè)置成 Overlay 的時候,則反之。相當于現(xiàn)實圖層置于應(yīng)用最頂層,也就是現(xiàn)實圖層位于虛擬圖層之上,這個時候現(xiàn)實場景會把整個虛擬場景覆蓋掉,我們只能看到現(xiàn)實場景,看不到虛擬物體。
因為我們想要在透視下的現(xiàn)實場景中看到虛擬物體,所以我們要選擇 Underlay。
??第三步:在場景中添加虛擬物體
我這里在 OVRCameraRig 物體前面添加了一個 Cube 方塊:
但是如果這時候嘗試運行程序,你會發(fā)現(xiàn)即使設(shè)置了 OVRPassthroughLayer 的 Placement 為 Underlay,自己還是看不到現(xiàn)實場景,只能看到虛擬場景。因為我們還有幾個步驟要做。
??第四步:設(shè)置相機
在 Hierarchy 面板中找到 OVRCameraRig/TrackingSpace/CenterEyeAnchor 這個子物體,它相當于我們的眼部相機。
然后在 Inspector 面板中,將 Camera 組件的 Clear Flags 設(shè)為 Solid Color,然后將 Background 的 alpha 值設(shè)為 0,也就是將背景的透明度設(shè)為0。Background 的顏色決定了透視場景的顏色,如果設(shè)為黑色(RGB 都是 0),則看到的是默認的透視顏色。如果是 Quest pro 或者 Quest 3 或者是之后擁有彩色透視的設(shè)備,那么看到的就是彩色透視的場景(和現(xiàn)實中的場景顏色一樣)。如果是 Quest 2,看到的就是 Quest 2 默認的黑白透視場景。
現(xiàn)在,透視的環(huán)境配置已經(jīng)完成了。
??第五步(可選):刪除場景中的天空盒
如果我們想要在完全透視的場景下,可以不需要渲染天空盒。
在 Unity 菜單欄選擇 Window -> Rendering -> Lighting ,點擊 Environment 選項,將 Skybox Material 設(shè)為 None。文章來源:http://www.zghlxwxcb.cn/news/detail-799430.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-799430.html
到了這里,關(guān)于【新】Unity Meta Quest MR 開發(fā)(一):Passthrough 透視配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!