使用 MRTK 設定新的 OpenXR 專案

為混合實境設定 Unity 專案最簡單的方式,就是使用 Mixed Reality Toolkit (MRTK) 。 適用於 Unity 的 MRTK 是開放原始碼的跨平台開發工具包,其設計目的是讓您輕鬆建置令人讚歎的混合實境應用程式。

顯示 Mixed Reality 工具組部分功能的信息圖。

MRTK 提供跨平台輸入系統、基礎元件,以及空間互動的常見基本要素。 它可協助您加速應用程式開發,以 Microsoft HoloLens、Windows Mixed Reality 沉浸式 (VR) 頭戴式裝置,以及其他許多 VR/AR 裝置。 此專案的目標是減少進入障礙,讓每個人都能夠建置混合實境應用程式,並在我們成長時貢獻回社群。

MRTK 支援各種不同的平臺,包括:

  • Microsoft HoloLens

  • Microsoft HoloLens 2

  • Windows Mixed Reality 頭戴式裝置

  • OpenVR 頭戴式裝置 (HTC Vive / Oculus Rift)

  • Ultraleap 手部追蹤

  • Android 和 iOS 裝置

注意

我們最近引進了第三代 Microsoft Mixed Reality Toolkit for Unity,其建置在 Unity 的 XR 管理系統和 XR 互動工具組之上,並提供更好的各種 OpenXR 相容裝置和新設計語言的支援。 如需詳細資訊,請參閱 MRTK3 檔

其他要考慮的非 OpenXR 組態選項

Windows XR:Microsoft 不建議針對 Unity 2020 中的任何新專案使用 Windows XR 外掛程式。 相反地,您應該使用 Mixed Reality OpenXR 外掛程式。 不過,如果您使用 Unity 2019,而且需要 AR Foundation 2.0 才能與 ARCore/ARKit 裝置相容,此外掛程式會啟用該支援。

重要

在 Unity 2019 中使用此外掛程式與 Azure Spatial Anchors 不相容。

舊版 XR

如果您仍在 Unity 2019 或更早版本,Microsoft 建議使用舊版內建 XR 支援。 雖然 Windows XR 外掛程式在 Unity 2019 上運作,但我們不建議使用,因為它與 Unity 2019 上的 Azure Spatial Anchors 不相容。

如果您要啟動新的項目,建議您改為安裝 Unity 2020,並使用 Mixed Reality OpenXR 外掛程式。

開始使用 OpenXR:建立新的 Unity 專案

  1. 啟動 [Unity 中樞]。

  2. 在 [專案] 索引標籤中,按一下 [新增專案]。

    [專案] 索引標籤中 Unity 中樞的螢幕擷取畫面,其中醒目提示 [新增專案] 按鈕。

  3. 按一下 [新增專案] 下的下拉式清單,然後選取您想要的編輯器版本。

    Unity 中樞的螢幕擷取畫面,其中顯示 [編輯器版本] 下拉式清單。

  4. 確保所選擇的範本為「3D 核心」。

  5. 在 [專案名稱] 方塊中,輸入專案的名稱,例如 "MRTK Tutorial"。

  6. 在 [位置] 方塊中,按一下資料夾圖示,然後導覽至您要儲存專案的資料夾,並加以選取。 您也可以建立新資料夾。

    Unity 中樞的螢幕擷取畫面,其中醒目提示 [3D]、[專案名稱]、[位置] 和 [建立]。

  7. 按一下 [建立專案]。 這會在 Unity 中開啟您的專案。

    在 Unity 中開啟您專案的螢幕擷取畫面。

警告

在 Windows 上作業時,MAX_PATH 的限制為 255 個字元。 Unity 會受到這些限制所影響,如果有任何檔案路徑的長度超過 255 個字元,可能就無法編譯。 因此,建議您盡可能將 Unity 專案儲存在盡可能接近磁碟機根目錄的位置。

設定您的組建目標

  1. 在功能表列上,選取 [檔案]>[建置設定...]。

    若要建置 Windows Mixed Reality 的應用程式,您必須選擇建置目標。 通用 Windows 平台 (UWP 的組建設定) 以任何裝置為目標,包括 HP Reverb G2 之類的沉浸式頭戴式裝置。 如果您要為 HoloLens 2 建置,這是最佳選擇;不過,如果您要以桌面 VR 為目標,建議您使用 PC、Mac & Linux 獨立平臺。

  2. 執行下列其中一個動作:

    如果您是以桌面 VR 為目標

    • 計算機、Mac & Linux 獨立 平臺保留,預設會在新的 Unity 項目上選取:

    Unity 編輯器中開啟 [組建設定] 視窗的螢幕快照,其中已醒目提示 MAC & 獨立平臺

    如果您要將目標設為 HoloLens 2

    • [平臺] 底下,選取 [通用 Windows 平台]。 確定下列設定為使用中:

    建置類型:D3D 專案

    目標 SDK 版本:安裝最新版本

    最低平台版本:10.0.10240.0

    Visual Studio 版本:安裝最新版本

    Unity 編輯器中開啟 [建置設定] 視窗的螢幕快照,其中已醒目提示 通用 Windows 平台。

  3. 按一下 [切換平台] 按鈕。 Unity 會在切換平台時顯示進度列。

  4. 切換平台程序完成之後,請關閉 [建置設定] 視窗。

下載並安裝 Mixed Reality 功能工具

Mixed Reality OpenXR 外掛程式是以 Unity 套件的形式提供。 探索、更新和匯入功能套件的最佳方式是使用 Mixed Reality 功能工具。 您可以依名稱或類別搜尋套件、查看其相依性,甚至在匯入之前查看專案資訊清單檔的建議變更。

  1. 從 Microsoft 下載中心下載最新版 Mixed Reality 功能工具

  2. 下載完成之後,流覽至可執行檔 MixedRealityFeatureTool.exe,然後使用它啟動 Mixed Reality 功能工具。

    開啟 [MixedRealityFeatureTool] 的螢幕擷取畫面。

匯入 Mixed Reality 工具組和 OpenXR 套件

  1. 在 [Mixed Reality Feature Tool] 中,選取 [Start] \(啟動\)。

    Mixed Reality Feature Tool 開啟畫面的螢幕擷取畫面。

  2. 選取 [Browse] \(瀏覽\) 按鈕 (下圖中的「三個點」按鈕),並瀏覽至專案,然後將其開啟。

    開啟您的專案

    注意

    工具中的 [項目路徑 ] 方塊必須包含值,因此預設會插入反斜杠 (“_”) 。

    選取資料夾之後,工具會檢查其是否為有效的 Unity 專案資料夾。

    Mixed Reality Feature Tool [Project Path] \(專案路徑\) 畫面的螢幕擷取畫面。

  3. 選取 [Discover Features] \(探索功能\)。

    注意:當工具從摘要重新整理套件時,您可能需要等候幾秒鐘。

  4. 在 [Discover Features] \(探索功能\) 頁面上,請注意有六個套件群組的清單。

    Mixed Reality Feature Tool 中套件的主要群組

  5. 按一下 [Mixed Reality Toolkit (0/10)] 左側的 "+" 按鈕,然後選取最新版的 [Mixed Reality Toolkit Foundation]。

    注意

    Mixed Reality Toolkit Foundation 套件是唯一必須匯入並設定為搭配專案使用 MRTK 的套件。 此套件包含建立混合實境應用程式所需的核心元件。

  6. 按一下 [Platform Support (0/5)] \(平台支援 (0/5)\) 左側的 "+" 按鈕,然後選取最新版本的 [Mixed Reality OpenXR Plugin] \(Mixed Reality OpenXR 外掛程式\)。

    Mixed Reality Feature Tool 中套件選取項目的螢幕擷取畫面。

  7. 選取之後,按一下 [Get Features] \(取得功能\)。

  8. 選取 [Validate] \(驗證\) 以驗證您選取的套件。 您應該會看到一個對話方塊,指出 [No validation issues were detected] \(未偵測到任何驗證問題\)。 當您看到該對話方塊後,請按一下 [OK] \(確定\)。

  9. 在 [Import Features] \(匯入功能\) 頁面上,左側資料行 [Features] \(功能\) 會顯示您剛才選取的套件。 右側資料行 [Required dependencies] \(必要相依性\) 會顯示任何相依性。 您可以按一下這些項目的 [Details] \(詳細資料) 連結,以深入了解這些項目。

  10. 當您準備好繼續進行時,請選取 [Import] \(匯入\)。在 [Review and Approve] \(檢閱並核准\) 頁面上,您可以檢閱套件的相關資訊。

  11. 選取 [Approve] \(核准\)。

  12. 返回 Unity Editor,然後按一下 UI 中的空白區域。 您會看到進度列,其中顯示系統正在匯入套件。

設定輸入後端設定

  1. 在 Unity 匯入套件之後,會出現警告,詢問您是否要重新啟動編輯器來啟用後端。 選取 [是]。

    Unity [Restart] \(重新啟動\) 選項的螢幕擷取畫面。

透過項目驗證 (MR OpenXR 1.6+) 設定 HoloLens 2 的專案

如果您要開發桌面 VR,請略過本節,並移至 設定桌面 VR 的專案

  1. 在功能表列上,按兩下 [Mixed Reality 項目驗證設定>] HoloLens 2 > [應用程式 (UWP) ],以啟用 HoloLens 2 的驗證規則。 針對 1.9 版之前的 MR OpenXR 外掛程式,可用的功能表項 Mixed Reality > [專案>套用建議的項目設定] HoloLens 2
  2. 在快顯的專案驗證視窗中,確定您位於 Windows 標誌) 所指出的 [UWP (平臺] 索引卷標上,然後按兩下 [ 修正所有 ] 來解決驗證問題。 請注意,按兩下 [ 全部修正] 之後,可能會仍有問題。 在此情況下,請嘗試再次按兩下 [ 全部修正 ],如果有任何) ,請忽略標示為「場景特定 (」的任何問題,並流覽其餘問題 (如果有任何) ,以查看您是否有任何建議的變更。
  3. 專案目前幾乎已準備好 HoloLens 2 部署。 繼續進行下一個步驟的 [ 設定播放機設定 ]。

手動設定 HoloLens 2 的專案

如果您要開發桌面 VR,請略過本節,並移至 設定桌面 VR 的專案

  1. 請確定 [ 項目設定 ] 視窗已開啟。 如果沒有,請在功能表欄上,選取 [編輯>項目設定]。

  2. 在 [項目設定] 視窗中,確定您位於 [XR 外掛程式管理] 頁面,然後在 [通用 Windows 平台] 索引標籤中。

    [Project Settings] \(專案設定\) 視窗的螢幕擷取畫面,其中已開啟至 [XR Plug-in Management] \(XR 外掛程式管理\) 頁面和 [Universal Windows Platform] \(通用 Windows 平台\) 索引標籤。

  3. 確定已選取 [ 啟動時初始化 XR ],然後在 [ 外掛程式提供者] 底下,按兩下 [ OpenXR]。

    項目設定視窗的螢幕快照,其中 通用 Windows 平台 已選取 [啟動時初始化 XR],並醒目提示 OpenXR 外掛程式。

  4. OpenXR 外掛程式會載入,然後在 OpenXR下方顯示多個專案。 選取 [Microsoft HoloLens 功能群組]。

    [項目設定] 視窗的螢幕快照,其中已醒目提示 OpenXR 外掛程式和 Microsoft HoloLens 功能群組。

請注意, OpenXR 旁邊有黃色警告三角形。 這表示您有需要解析的不相容設定。 若要瞭解如何解決此問題,請略過下一節關於設定VR並繼續進行下一節解析 不相容的設定

透過項目驗證 (MR OpenXR 1.9+) 設定桌面 VR 的專案

  1. 在功能表列上,按兩下 [Mixed Reality > 項目驗證設定 > Win32 應用程式] ([獨立式) ],以啟用桌面 XR 應用程式的驗證規則。
  2. 在快顯的專案驗證視窗中,確定您位於 [獨立平臺] 索引標籤上,然後按兩下 [ 全部修正 ] 以解決驗證問題。 請注意,按兩下 [ 全部修正] 之後,可能會仍有問題。 在此情況下,請嘗試再次按兩下 [ 全部修正 ],如果有任何) ,請忽略標示為「場景特定 (」的任何問題,並流覽其餘問題 (如果有任何) ,以查看您是否有任何建議的變更。

手動設定桌面 VR 的專案

  1. 請確定 [ 項目設定 ] 視窗已開啟。 如果沒有,請移至功能表欄,選取 [編輯>項目設定]。

  2. 在 [ 項目設定 ] 視窗中,確定您位於 [XR 外掛程式管理 ] 頁面,並在 [Mac] & [Linux 獨立 ] 索引卷標中。

    [項目設定] 視窗的螢幕快照,開啟至 [XR 外掛程式管理頁面] 和 [計算機]、[Mac] & [Linux 獨立] 索引標籤。

  3. 確定已選取 [ 啟動時初始化 XR ],然後在 [ 外掛程式提供者] 底下,按兩下 [ OpenXR]。

    [項目設定] 視窗的螢幕快照,其中計算機、Mac & Linux 獨立索引卷標,其中已選取 [啟動時初始化 XR],並醒目提示 OpenXR 外掛程式。

  4. OpenXR 外掛程式會載入,然後兩個項目會出現在 [OpenXR] 下方。 選取第一個,Windows Mixed Reality 功能群組

    [項目設定] 視窗的螢幕快照,其中已醒目提示 OpenXR 外掛程式和 Windows Mixed Reality 功能群組。

請注意,[OpenXR] 旁邊現在有黃色警告三角形。 這表示您有需要解析的不相容設定。 若要瞭解如何解決此問題,請繼續進行下一節 解析不相容的設定

解決不相容的設定

重要

本節中的影像會顯示 [通用 Windows 平台] 索引標籤中的選項。不過,除非另有說明,否則桌面 VR 索引標籤的指示相同。

  1. 將游標停留在 OpenXR 旁的黃色警告三角形上,然後在彈出視窗中讀取訊息,然後選取三角形。

    不相容設定警告的螢幕擷取畫面。

  2. 在 [OpenXR Project Validation] \(OpenXR 專案驗證\) 視窗中,列出數個問題。 選取 [Fix All] \(全部修正\) 按鈕。 注意:此列表可能會根據您所在的索引標籤而有所不同。

    [OpenXR Project Validation] \(OpenXR 專案驗證\) 視窗中 [Fix All] \(全部修正\) 按鈕的螢幕擷取畫面。

  3. 仍有一個問題,告知您至少必須新增一個互動設定檔。 若要這樣做,請按一下 [Edit] \(編輯\)。 這會帶您前往 [Project Settings] \(專案設定\) 視窗中 [OpenXR] 外掛程式的設定。

    [Project Settings] \(專案設定\) 視窗的螢幕擷取畫面,其中顯示 [OpenXR] 設定。

  4. 在 [Interaction Profiles] \(互動設定檔\) 下,留意加號 (+) 按鈕。

    [Add Interaction Profile] \(新增互動設定檔\) 按鈕的螢幕擷取畫面。

  5. 按三次按鈕,每次選擇不同的設定檔:

    Eye Gaze Interaction Profile (眼球注視互動設定檔)

    Microsoft Hand Interaction Profile (Microsoft 手部互動設定檔)

    Microsoft Motion Controller Profile (Microsoft 動作控制器設定檔)

    應新增的互動設定檔的螢幕擷取畫面。

    如果 [Eye Gaze Interaction Profile] \(眼球注視互動設定檔\) 或任何其他設定檔在出現時,旁邊有一個黃色三角形,請選取三角形,然後在 [OpenXR Project Validation] \(OpenXR 專案驗證\) 視窗中,按一下 [Fix] \(修正\) 按鈕。 完成時,請關閉 [OpenXR Project Validation] \(OpenXR 專案驗證\) 視窗。

    [Eye Gaze Interaction Profile] \(眼球注視互動設定檔\) 之 [Fix] \(修正\) 按鈕的螢幕擷取畫面。

  6. 在 [OpenXR Feature Groups] \(OpenXR 功能群組\) 下的 [Project Settings] \(專案設定\) 視窗中,確保已選取下列項目:

    如果您是在 [桌面 VR] 索引標籤中:

    Windows Mixed Reality

    Hand Tracking (手部追蹤)

    Motion Controller Model (動作控制器模型)

    [桌面 VR] 索引標籤的 OpenXR 功能群組螢幕快照。

    如果您是在 [通用 Windows 平台] 索引標籤中:

    Microsoft HoloLens

    Hand Tracking (手部追蹤)

    Motion Controller Model (動作控制器模型)

    針對 OpenXR 所選取之功能的螢幕擷取畫面。

  7. 按一下 [Depth Submission Mode] \(深度提交模式\) 下拉式清單,然後選取 [Depth 16 Bit] \(深度 16 位元\)。

    針對 [Depth Submission Mode] \(深度提交模式\) 選取 [Depth 16 Bit] \(深度 16 位元\) 的螢幕擷取畫面。

    提示

    您可以選擇是否將 [Depth Format] \(深度格式\) 減少為 16 位元,但這麼做可改善專案中的圖形效能。 若要深入了解,請參閱深度緩衝區共用 (HoloLens)

    注意

    位於 [Depth Submission Mode] \(深度提交模式\) 正上方的 [Render Mode] \(轉譯模式\) 設定,預設會設定為 [Single Pass Instanced] \(單一傳遞執行個體化\)。 在混合實境應用程式中,場景會轉譯兩次,也就是雙眼個別轉譯一次。 結果會產生「立體視覺」。這會將必要的運算量加倍,因此請務必在 Unity 中選取最有效率的轉譯路徑,以節省 CPU 和 GPU 時間。 單一傳遞執行個體化轉譯是這裡的最佳選擇,建議您針對每個專案預設予以啟用。 若要深入了解,請參閱 Unity 文件 (英文)。

設定播放機設定

  1. 在 [Project Settings] \(專案設定\) 視窗的左側資料行中,選取 [Player] \(玩家\)。

  2. 請注意,在 [播放程式 ] 視窗中,[ 產品名稱 ] 方塊已填滿。 這會取自您的項目名稱,而且會是 HoloLens [開始] 選單中顯示的名稱。

    Unity [Publishing Settings] \(發佈設定\) 的螢幕擷取畫面,其中 [Project Name] \(專案名稱\) 方塊已填入。

    提示

    若要在開發期間更容易找到應用程式,請在名稱前面加上底線,以將其排序到任何清單的頂端。

  3. 按兩下 [ 發佈設定 ] 下拉式清單,然後在 [ 套件名稱 ] 字段中輸入適當的名稱。

    Unity [Publishing Settings] \(發佈設定\) 的螢幕擷取畫面,其中 [Package Name] \(套件名稱\) 方塊已填入。

    注意

    套件名稱是應用程式的唯一識別碼。 如果您想要避免以相同名稱覆寫先前安裝的應用程式版本,則應該在部署應用程式之前變更此識別碼。

  4. 關閉 [Project Settings] \(專案設定\) 視窗。

您現在已準備好開始使用 Unity 中的 OpenXR 進行開發!

Unity 範例專案

請參閱 OpenXR Mixed Reality 範例存放庫,以取得示範如何使用 Mixed Reality OpenXR 外掛程式建置適用於 HoloLens 2 或 Mixed Reality 頭戴式裝置的 Unity 應用程式範例存放庫。

另請參閱