OpenXR

OpenXR 是 來自 Khronos的開放免版版 API 標準,提供引擎跨 混合實境頻譜對各種裝置的原生存取權。
您可以在HoloLens 2上使用 OpenXR 進行開發,或在桌面上Windows Mixed Reality沉浸式 VR 頭戴式裝置。 如果您沒有頭戴式裝置的存取權,您可以改用HoloLens 2模擬器或Windows Mixed Reality模擬器。
為何為 OpenXR?
使用 OpenXR,您可以建置以全像攝影裝置為目標的引擎,例如HoloLens 2和沉浸式 VR 裝置,例如桌上型電腦的Windows Mixed Reality頭戴式裝置。 OpenXR 可讓您撰寫一次程式碼,然後跨各種硬體平臺移植。
OpenXR API 會使用載入器,將應用程式直接連線到頭戴式裝置的原生平臺支援。 無論使用者使用的是Windows Mixed Reality或任何其他頭戴式裝置,使用者都獲得最大效能和最低延遲。
什麼是 OpenXR?
OpenXR API 提供核心姿勢預測、畫面計時和空間輸入功能,您必須建置可同時以全像攝影和沉浸式裝置為目標的引擎。
若要瞭解 OpenXR API,請參閱 OpenXR 1.0 規格、 API 參考和 快速參考指南。 如需詳細資訊,請參閱 Khronos OpenXR 頁面。
若要以HoloLens 2的完整功能集為目標,您也會使用跨廠商和廠商專屬的 OpenXR 延伸模組,啟用 OpenXR 1.0 核心以外的其他功能,例如清楚的手部追蹤、眼球追蹤、空間對應和空間錨點。 如需詳細資訊,請參閱本年度稍後即將推出的延伸模組的 藍圖一節 。
OpenXR 本身不是混合實境引擎。 相反地,OpenXR 可讓 Unity 和 Unreal 等引擎撰寫可攜式程式碼一次,然後存取使用者全像攝影或沉浸式裝置的原生平臺功能,無論廠商建置了該平臺。
藍圖
OpenXR 規格會定義擴充機制,讓執行時間實作者公開除了基底 OpenXR 1.0 規格中所定義的核心功能之外的其他功能。
OpenXR 延伸模組有三種:
- 例如,廠商擴充功能 (,
XR_MSFT_...
) : 啟用硬體或軟體功能的個別廠商創新。 任何執行時間廠商隨時都可以引進及寄送廠商擴充功能。- 例如,實驗性廠商延伸模組 (,
XR_MSFTX_...
) : 正在預覽的實驗性廠商延伸模組,以收集意見反應。XR_MSFTX_...
擴充功能僅適用于開發人員裝置,且會在實際擴充功能隨附時移除。 若要進行實驗,您可以在 開發人員裝置上啟用預覽延伸模組。
- 例如,實驗性廠商延伸模組 (,
- 跨廠商
EXT
延伸模組: 多個公司定義和實作的跨廠商延伸模組。 感興趣的公司群組可以隨時引進 EXT 擴充功能。 - 官方
KHR
延伸模組: 官方 Khronos 延伸模組已作為核心規格發行的一部分。 KHR 擴充功能涵蓋在核心規格本身的相同授權中。
Windows Mixed Reality OpenXR 執行時間支援一組 MSFT
和 EXT
擴充功能,可將完整的HoloLens 2功能集帶入 OpenXR 應用程式:
雖然其中有些延伸模組可能以廠商特定的 MSFT
擴充功能開始,但 Microsoft 和其他 OpenXR 執行時間廠商會共同合作,為其中許多功能區域設計跨廠商 EXT
或 KHR
延伸模組。 跨廠商延伸模組可讓您針對跨執行時間廠商移植這些功能撰寫的程式碼,如同核心規格一樣。
您可以在何處使用 OpenXR?
Minecraft 的新 RenderDragon 引擎已使用 OpenXR 建置其桌面 VR 支援!
Microsoft 一直與 Unity 和 Epic Games 合作,以確保混合實境的未來已開放,不僅適用于HoloLens 2,還橫跨電腦 VR 的完整廣度,包括HP 的新 Reverb G2 頭戴式裝置。 OpenXR 為現今的主要標題運送提供跨廠商 VR 支援,例如 Minecraft 和 Microsoft Flight 模擬器! 如需針對 HoloLens (第 1 代) 進行開發的詳細資訊,請參閱 版本資訊。
若要瞭解如何在 Unity、Unreal Engine 或您自己的引擎中開始使用 OpenXR,請閱讀!
Unity 中的 OpenXR
Microsoft 目前針對HoloLens 2和Windows Mixed Reality開發的 Microsoft 建議 Unity 組態是使用 Mixed Reality OpenXR 外掛程式的Unity 2020.3 LTS。 此外掛程式包含 OpenXR 延伸模組的支援,可啟動HoloLens 2和Windows Mixed Reality頭戴式裝置的完整功能,包括手部/眼球追蹤、空間錨點和 HP Reverb G2 控制器。 MRTK-Unity支援 從 MRTK 2.7起的 OpenXR。 如需開始使用 Unity 2020 和 OpenXR 的詳細資訊,請參閱 選擇 Unity 版本和 XR 外掛程式。
如果您要針對 HoloLens (第 1 代) 進行開發,您必須繼續使用 Unity 2019.4 LTS 與舊版 WinRT API 後端。 如果您在 Unity 2019 應用程式中以新的 HP Reverb G2 控制器為目標,請參閱 我們的 HP Reverb G2 輸入檔。
從Unity 2021.3 LTS開始,OpenXR 是唯一支援的 Unity 後端,以HoloLens 2和Windows Mixed Reality頭戴式裝置為目標。
Unreal Engine 中的 OpenXR
Unreal Engine 4.23 是提供 OpenXR 1.0 預覽支援的第一個主要遊戲引擎版本! 現在,在Unreal Engine 4.26中,可透過 Unreal Engine 的內建 OpenXR 支援,取得HoloLens 2、Windows Mixed Reality和其他桌面 VR 頭戴式裝置的支援。 Unreal Engine 4.26 也支援Microsoft 的 OpenXR 擴充功能外掛程式、啟用手部互動和 HP Reverb G2 控制器支援、啟動HoloLens 2和Windows Mixed Reality頭戴式裝置的完整功能集。 Unreal Engine 4.26 目前可在 Epic Games Launcher上使用,MRTK-Unreal 0.12 支援 OpenXR 專案。
適用于原生開發的 OpenXR
您可以在HoloLens 2上使用 OpenXR 進行開發,或在桌面上Windows Mixed Reality沉浸式 VR 頭戴式裝置。 如果您沒有頭戴式裝置的存取權,您可以改用HoloLens 2模擬器或Windows Mixed Reality模擬器。
若要開始開發適用于 HoloLens 2 或 Windows Mixed Reality VR 頭戴式裝置的OpenXR 應用程式,請參閱如何開始使用 OpenXR 開發。
若要流覽 OpenXR API 的所有主要元件,以及現今使用 OpenXR 之真實世界應用程式的範例,請參閱這段 60 分鐘的逐步解說影片: