來源:映維網 作者 黃顏
Oculus軟件工程團隊的一個主要任務是探索利用Unity和UE4等游戲引擎,從而幫助實現最佳的開發者體驗,以及幫助合作伙伴優化其游戲引擎工作流程。日前,Oculus軟件工程師Xiang Wei和Kevin Xiao撰文進一步介紹了Oculus Mixed Reality Capture Tools,以及令這項重要功能成為現實的集成。下面是映維網的具體整理:
作為VR開發者,我們經常發現,如果不是親自穿戴頭顯,你難以向人們表達虛擬現實體驗的魅力。Mixed Reality Capture(MRC;混合現實捕獲)能夠將用戶的真實世界圖像與虛擬世界合成在一起,這樣其他人就可以輕松理解所述用戶在VR中的行為。另外,無論是通過震撼的預告片來推廣游戲,還是在展會期間向路過的人員展示體驗的預覽,這為共享VR體驗開辟了新的可能性。通過為用戶提供與家人,朋友以及世界各地分享新體驗的能力,它同時將擴大游戲和應用的觸及范圍。
1. 你需要的硬件和軟件
這是我們在混合現實捕獲中需要的裝備清單。因為你應該都十分清楚Quest頭顯,所以我將不做過多解釋。
個人PC:我們需要一臺Windows 10 PC來運行Open Broadcaster Software(OBS)并連接攝像頭。它不一定是超高性能的PC,一臺游戲本通常已經足夠。無線路由:這十分重要,因為我們是通過WiFi將Quest接入PC,所以連接質量至關重要。我建議為使用高質量的無線路由器。綠幕+照明:我們需要綠幕來進行背景移除。如果捕獲環境缺的照明條件不佳,準備一定的攝影燈以增加亮度并消除陰影將很有幫助。攝像頭:任何高質量的USB或HDMI攝像頭都可以完成這項工作。建議你購買能以60fps輸出1080p的攝像頭。MRC軟件:請通過Oculus官網下載Oculus Mixed Reality Capture Tools。
2. 如何集成至你常用的游戲引擎
如果你熟悉使用我們的Unity和UE4集成,你幾乎可以完全跳過這里。自1.38版本以來,所有功能都包含在我們的集成包中。建議你將應用升級到最新版本,因為它包含重要功能和錯誤修復。你可以下載我們的最新集成版本:Unity集成,UE4集成。
2.1 MRC with Unity
對于Unity,MRC包含在Oculus Integration軟件包中。當Mixed Reality Capture for Quest設置為自動時(默認情況下),你可通過OVRManager和其他Oculus類進行啟用。Unity Integration采用camera配置文件中的camera配置,然后添加與所述配置匹配的額外in-game camera來捕獲MRC視圖。camera同時受集成控制以跟隨OVRCameraRig。
如果你的Unity項目不是使用OVRCameraRig和/或OVRManager腳本,你需要對應用程序進行小幅的更改,但你可以在其余的游戲中繼續使用自己的腳本和組件。只需將MRC with Unity文檔頁面中的代碼片段添加到系統組件的Awake事件中即可。
當OVRManager銷毀時,舊版Unity Integration將停止MRC。所以,如果應用程序在每個關卡構建和銷毀OVRManager,則MRC會話將不會在各個關卡之間維持。我們自1.41以來已經解決了問題,即使OVRManager銷毀后依然能夠實現持久MRC會話。如果你遇到這個問題,請升級到我們的最新集成。
2.2 MRC with UE4
對于UE4,MRC包含在引擎中的OculusVR插件里面。它已通過OculusVR插件啟用,所以,如果你使用了兼容的插件,MRC應該能夠開箱即用。插件的MRC部分會自動讀取camera配置并處理網絡連接。連接后,它將自動添加一個SceneCapture2D來渲染MRC視圖。默認情況下,它將跟隨游戲中第一個VR player pawn。SceneCapture的位置和配置由插件根據OVRPlugin的camera配置控制。
你可能并不總是以相同的方式設置玩家角色。在某些情況下,自動選擇的跟蹤參考(第一個player pawn)可能不是正確的組件。根據玩家的設置,這可能會偏離實際的跟蹤原點。對于這種情況,我們提供了“Set Tracking Reference Component”函數,它能夠根據你的設置將MRC跟蹤參考設置為正確的組件。
更多信息請參閱MRC with UE4文檔。
2.3 注意事項
盡管我們確實嘗試盡可能地簡化實現,但在為Mixed Reality Capture構建應用時,你應牢記下面的注意事項。
環境預備:確保你地環境與第三人稱camera視圖兼容。在玩家周圍留下一點空白,從而避免遮擋MRC camera,或使其僅對VR camera可見。另外,camera有時會顯示玩家背后的內容。所以即便玩家通常不會朝背后看去,但請確保可以高質量地渲染玩家背后的環境。視覺效果考量:呈現視覺效果時,請確保你的應用程序足夠靈活。正如你在我們的優化中所看到那樣,眼睛捕獲camera和MRC camera之間存在許多差異。請將視覺效果設計成兼容不同的分辨率和縱橫比。僅VR camera看到任何干擾的HUD,UI組件或人體模型,以免與camera捕獲發成沖突。隱藏不必要的游戲對象和組件(Unity):激活MRC后,它將通過克隆主camera來構建新的第三人稱MRC camera,并繼承附加的所有組件和子對象。盡管大多數情況下這都是預期的行為,但如果將某些組件和對象附加到MRC camera后無法正常工作,這可能會引起問題。有幾種可以從MRC camera中隱藏不必要的組件和對象,但在VR中保持可見的方法。更多信息請參閱MRC with Unity文檔頁面。尋找正確的跟蹤原點(UE4):即使我們已盡力根據游戲的運動設置來自動選擇正確的跟蹤原點,但這個默認跟蹤原點依然由可能錯誤。如果你在Unity中更改了camera rig,或者在UE4中使用了其他玩家組件設置,則MRC camera的默認跟蹤原點可能會錯誤,從而導致游戲捕獲camera和真實世界camera未對齊。如果默認設置不適合,請尋找正確的跟蹤原點。通過Rift S和游戲編輯器調試MRC:Rift和Quest的MRC主要組件和camera校準流程相同。當為Quest應用程序啟用MRC時,你同時可以選擇在Rift啟用。與用Quest測試應用程序相比,在Rift S通過游戲編輯器的“VR預覽”功能調試MRC通常要容易得多。更多信息請訪問Oculus Rift: Mixed Reality Capture頁面。
3. 捕獲流程綜述
下面顯示了完整的捕獲工作流程。camera校準工具在左側,它從Quest接收校準的追蹤空間信息。右邊是Open Broadcaster Software(OBS)。大多數流媒體都使用OBS,因為它是用于捕獲,合成和記錄的多合一解決方案。MRC插件在OBS內部運行,它與Quest通信以控制捕獲,并獲得用于最終構圖的游戲幀。
4. Camera校準綜述
camera校準的目的是確定虛擬camera的所有必要參數,從而使其與物理攝像頭完美匹配。校準工具在PC運行,后者與攝像頭對接。在camera校準期間,所述工具將接入Quest以獲得其追蹤空間。然后,它將在物理空間和Quest追蹤空間之間匹配Touch控制器的姿態,從而計算camera配置。最后,我們將camera配置回推至Quest,從而令其他應用程序知曉物理攝像頭所需的參數。當混合現實捕獲開始時,應用程序就可以使用相同的參數來構建虛擬camera。
5. 用OBS進行捕獲
校準camera后,我們現在可以啟動OBS,并通過為OBS構建的MRC插件將其接入Quest應用。激活MRC后,Quest應用程序將從虛擬camera的角度渲染虛擬世界,并將音頻和視頻幀發送到我們的OBS插件。
視頻幀包含虛擬世界的背景和前景。然后,OBS拍攝真實世界的視頻,并將其組合以生成混合現實素材。然后,我們可以錄制最終視頻并保存,或開始實時投屏。
更多用OBS捕獲場景的信息請參閱這個頁面,其包含如何設置,以及在合成期間如何合成音頻和視頻源。
6. 總結
Mixed Reality Capture是你向不斷擴大地社區分享VR體驗地一個有用工具。上面的分享只是開始,我們未來將介紹更多的相關知識。
原文鏈接:https://yivian.com/news/69962.html