共用方式為


開始使用 OpenXR

您可以在 HoloLens 2 上使用 OpenXR 或在電腦上使用 Windows Mixed Reality 沉浸式頭戴裝置進行開發。 如果您沒有頭戴式裝置的存取權,您可以改用HoloLens 2模擬器或Windows Mixed Reality模擬器。

開始使用 OpenXR for HoloLens 2

若要開始開發適用于 HoloLens 2 的 OpenXR 應用程式:

  1. 設定HoloLens 2裝置,或安裝最新版的 HoloLens 2 模擬器

就這麼簡單! OpenXR API 執行時間會預先安裝在HoloLens 2裝置上,而且您將透過市集接收自動更新。

若要確定您擁有具有所有 擴充 功能的最新 OpenXR 執行時間,您可以從 HoloLens 裝置或模擬器啟動 市集 應用程式。 開啟市集應用程式右上角的功能表,選取 [ 下載和更新],然後選擇 [ 取得更新]。

注意

如果您使用模擬器,則每次啟動模擬器映射時都會重設模擬器映射,因此最好是確定您擁有最新版的 HoloLens 2 模擬器映射

開始使用適用于Windows Mixed Reality頭戴式裝置的 OpenXR

若要開始開發適用于沉浸式Windows Mixed Reality頭戴式裝置的 OpenXR 應用程式:

  1. 請確定您至少執行 Windows 10了 2020 年 10 月更新 (20H2) ,這是Windows Mixed Reality終端使用者執行 OpenXR 應用程式的最低支援 OS 版本。 舊版Windows 10仍應與 OpenXR 搭配運作,但效能或品質可能不理想。 如果您使用的是舊版的 Windows 10,您可以使用Windows 10 Update Assistant進行升級。
  2. 設定Windows Mixed Reality頭戴式裝置啟用Windows Mixed Reality模擬器

就這麼簡單! Windows Mixed Reality OpenXR 執行時間會針對所有Windows Mixed Reality使用者自動安裝並啟用。 然後,Microsoft Store 會讓執行時間保持最新狀態。

如果您已在您的電腦上使用多個 VR 頭戴式裝置,請記住,另一個廠商的系統軟體可能會變更作用中的 OpenXR 執行時間。 若要重新啟用 Windows Mixed Reality OpenXR Runtime,請在 [開始] 功能表上啟動 「Mixed Reality Portal」,然後選取視窗頂端的 [修正]。 如果遺漏該按鈕,OpenXR 執行時間就已經處於作用中狀態。

取得適用于 Windows Mixed Reality 的 OpenXR 工具

如果您要開發適用于 HoloLens 2 或 PC VR 的 OpenXR 應用程式,您可能會發現此OpenXR Tools for Windows Mixed Reality應用程式很有用。 它提供各種 OpenXR 功能和 OpenXR 執行時間頁面的示範,其中包含使用中執行時間和目前頭戴式裝置的重要資訊。

若要尋找並安裝 OpenXR Tools 應用程式,請在您的HoloLens 2上移至市集應用程式並搜尋 「OpenXR」。

使用HoloLens 2模擬器時,安裝 OpenXR Tools for Windows Mixed Reality最簡單的方式是透過Windows 裝置入口網站。 在入口網站中,流覽至 [OpenXR] 頁面,然後在 [ 開發人員功能] 底下選取 [ 安裝 ] 按鈕。 這也適用于實體HoloLens 2裝置。

適用于Windows Mixed Reality應用程式的 OpenXR 工具

探索 OpenXR API 和範例應用程式

如果您尚未安裝 OpenXR 開發所需的工具,請務必 安裝

BasicXrApp專案會顯示簡單的 OpenXR 範例,其中包含 Visual Studio 中的 Win32 和 UWP HoloLens 2專案檔。 因為解決方案包含 HoloLens UWP 專案,所以您需要在 Visual Studio 中安裝通用 Windows 平臺開發工作負載,才能完全開啟它。

雖然 Win32 和 UWP 專案檔因為封裝和部署的差異而不同,但每個專案內的應用程式程式碼幾乎完全相同!

如需 OpenXR API 的導覽,請參閱 Visual Studio 中 BasicXrApp 範例的這段 60 分鐘影片。 影片顯示 OpenXR API 的每個主要元件如何在您自己的引擎中使用,同時也示範一些目前以 OpenXR 為基礎的應用程式:

執行 OpenXR 應用程式

在建置 OpenXR Win32 桌面.EXE之後,您可以在任何支援 OpenXR 的桌面 VR 平臺上將其與 VR 頭戴式裝置搭配使用,無論頭戴式裝置類型為何。

建置 OpenXR UWP 應用程式套件之後,您可以將該套件部署到HoloLens 2裝置或HoloLens 2模擬器。

在現有專案中使用 OpenXR

若要在現有專案中開始使用 OpenXR,您將包含 OpenXR 載入器。 載入器會在裝置上探索作用中的 OpenXR 執行時間,並提供其實作的核心函式和擴充功能存取權。

您可以從 Visual Studio 專案 參考官方 OpenXR NuGet 套件 ,或從 Khronos GitHub 存放庫 包含官方 OpenXR 載入器來源 。 任一種方法都可讓您存取 OpenXR 1.0 核心功能,以及已發佈 KHR 的 、 EXTMSFT 延伸模組。

如果您也想要試驗 MSFT_preview 延伸模組,您可以從 Mixed Reality GitHub 存放庫複製預覽 OpenXR 標頭

參考官方 OpenXR NuGet 套件

OpenXR.Loader NuGet 套件是在 Visual Studio C++ 解決方案中參考預先建置的 OpenXR 載入器.DLL最簡單的方式。 這可讓您存取 OpenXR 1.0 核心功能,以及已發佈 KHR 的 、 EXTMSFT 延伸模組。

若要將 OpenXR.Loader NuGet 套件參考新增至 Visual Studio C++ 解決方案:

  1. 方案總管中,以滑鼠右鍵按一下將使用 OpenXR 的專案,然後選取 [管理 NuGet 套件...]。
  2. 切換至 [ 流覽] 索引標籤,然後搜尋 OpenXR.Loader
  3. 選取 OpenXR.Loader 套件,然後在右側的詳細資料窗格中選取 [安裝]。
  4. 選取 [確定] 以接受專案的變更。
  5. 將 新增 #include <openxr/openxr.h> 至來源檔案,以開始使用 OpenXR API。

若要查看作用中的 OpenXR API 範例,請參閱 BasicXrApp 範例應用程式。

包含官方 OpenXR 載入器來源

如果您想要自行建置載入器,例如若要避免額外的載入器.DLL,您可以將官方 Khronos OpenXR 載入器來源提取到您的專案中。 這可讓您存取 OpenXR 1.0 核心功能,以及已發佈 KHR 的 、 EXTMSFT 延伸模組。

若要從這裡開始使用,請遵循 GitHub 上的 Khronos OpenXR-SDK 存放庫中的指示。 專案已設定為使用 CMake 建置 - 如果您使用 MSBuild,則必須將程式碼複製到您自己的專案中。

使用預覽延伸模組

延伸 MSFT_preview 模組藍圖中所列的 延伸模組 是預覽的實驗性廠商延伸模組,可收集意見反應。 這些擴充功能僅適用于開發人員裝置,且會在實際擴充功能隨附時移除。

如果您想要試用可用的 MSFT_preview 延伸模組,請流覽下列步驟來更新您的專案:

  1. 遵循上述任一種方法,將 OpenXR 載入器整合到您的專案中。
  2. 將專案中的標準OpenXR 標頭取代為 GitHub 上 Mixed Reality OpenXR 存放庫的預覽標頭

若要在目標HoloLens 2或桌上型電腦上啟用預覽延伸模組支援:

  1. 若要確定您擁有具有所有 延伸模組 的最新 OpenXR 執行時間,請從目標裝置或模擬器內啟動 市集 應用程式、開啟右上方的功能表、選取 [ 下載和更新] ,然後選擇 [ 取得更新]。
  2. OpenXR Tools for Windows Mixed Reality 應用程式從 Microsoft Store 安裝到目標裝置上並加以執行。
  3. 流覽至 [ 設定] 索引標籤,並啟用 [使用最新的預覽 OpenXR 執行時間]。 這會在您的裝置上啟用預覽執行時間,其已啟用預覽延伸模組。 Windows Mixed Reality應用程式 [設定] 索引標籤的 OpenXR 工具
  4. 確認OpenXR Tools for Windows Mixed RealityOpenXR Runtime索引標籤上顯示的[執行時間版本] 符合您計畫嘗試之預覽延伸模組的必要版本。 如果是,您應該會在 [擴充功能] 清單中看到延伸 模組 。 一旦有穩定的擴充功能可用,就會移除其預覽延伸模組。
    openXR Tools for Windows Mixed Reality 應用程式 OpenXR 執行時間索引標籤

如需這些預覽延伸模組的檔,請參閱Mixed Reality OpenXR 存放庫,以及如何使用它們的範例。

疑難排解

如果您在啟動並執行 OpenXR 開發時遇到問題,請參閱我們的 疑難排解秘訣