使用 MRTK 設定新的 OpenXR 專案
為混合實境設定 Unity 專案最簡單的方式是使用 混合實境工具組 (MRTK) 。 適用於 Unity 的 MRTK 是開放原始碼的跨平台開發工具包,其設計目的是讓您輕鬆地建置驚人的混合實境應用程式。
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 裝置
注意
我們最近推出了 MRTK3,這是以 Unity XR 管理系統和 XR 互動工具組為基礎的第三代Microsoft混合實境工具組,對各種符合 OpenXR 規範的裝置和新的設計語言提供更好的支援。 如需詳細資訊,請參閱 MRTK3 檔。
注意
您也可以 在沒有 MRTK 的情況下設定新的 OpenXR 專案。
其他要考慮的非 OpenXR 組態選項
Windows XR:Microsoft不建議針對 Unity 2020 中的任何新專案使用 Windows XR 外掛程式。 您應該改用混合實境 OpenXR 外掛程式。 不過,如果您使用 Unity 2019,而且需要 AR Foundation 2.0 才能與 ARCore/ARKit 裝置相容,此外掛程式會啟用該支援。
舊版 XR:
如果您仍在 Unity 2019 或更早版本,Microsoft建議使用舊版內建 XR 支援。
如果您要啟動新的項目,建議您改為安裝 Unity 2020,並使用混合實境 OpenXR 外掛程式。
開始使用 OpenXR:建立新的 Unity 專案
啟動 Unity 中樞。
在 [專案] 索引標籤中,按一下 [新增專案]。
按一下 [新增專案] 底下的下拉式清單,然後選取您想要的編輯器版本。
確保所選擇的範本為「3D 核心」。
在 [專案名稱] 方塊中,輸入專案的名稱,例如 "MRTK Tutorial"。
在 [位置] 方塊中,按一下資料夾圖示,然後導覽至您要儲存專案的資料夾,並加以選取。 您也可以建立新資料夾。
按一下 [建立專案]。 這會在 Unity 中開啟您的專案。
警告
在 Windows 上運作時,MAX_PATH 限制為 255 個字元。 Unity 會受到這些限制所影響,如果有任何檔案路徑的長度超過 255 個字元,可能就無法編譯。 因此,建議您盡可能將 Unity 專案儲存在盡可能接近磁碟機根目錄的位置。
設定您的組建目標
在功能表列上,選取 [檔案]>[建置設定...]。
若要建置適用於 Windows Mixed Reality 的應用程式,您必須選擇組建目標。 通用 Windows 平台 (UWP) 的組建設定會以任何裝置為目標,包括 HP Reverb G2 之類的沉浸式頭戴式裝置。 如果您要為 HoloLens 2 建置,這是最佳選擇;不過,如果您的目標是桌面 VR,建議您使用 PC、Mac 和 Linux 獨立 平臺。
執行下列其中一項動作:
如果您的目標是桌面 VR:
- 將預設在新的 Unity 項目上選取的電腦、Mac 和 Linux 獨立平臺保留:
如果您要以 HoloLens 2 為目標:
- 在 [平臺] 底下,選取 [通用 Windows 平台]。 確定下列設定為使用中:
建置類型:D3D 專案
目標 SDK 版本:安裝最新版本
最低平台版本:10.0.10240.0
Visual Studio 版本:安裝最新版本
按一下 [切換平台] 按鈕。 Unity 會在切換平台時顯示進度列。
切換平台程序完成之後,請關閉 [建置設定] 視窗。
下載並安裝混合實境功能工具
混合實境 OpenXR 外掛程式是以 Unity 套件的形式提供。 探索、更新和匯入功能套件的最佳方式是使用混合實境功能工具。 您可以依名稱或類別搜尋套件、查看其相依性,甚至在匯入之前查看專案資訊清單檔的建議變更。
請從 Microsoft 下載中心下載最新版 Mixed Reality Feature Tool。
下載完成之後,流覽至可執行檔 MixedRealityFeatureTool.exe ,然後使用它啟動混合實境功能工具。
匯入混合實境工具組和 OpenXR 套件
在 [Mixed Reality Feature Tool] 中,選取 [Start] \(啟動\)。
選取 [瀏覽] 按鈕 (下圖中的「三個點」按鈕),然後瀏覽至專案,然後將其開啟。
注意
工具中的 [ 項目路徑 ] 方塊必須包含值,因此預設會插入反斜杠 (“_”) 。
選取資料夾之後,工具會檢查其是否為有效的 Unity 專案資料夾。
選取 [Discover Features] \(探索功能\)。
注意:當工具從摘要重新整理套件時,您可能需要等候幾秒鐘。
在 [Discover Features] \(探索功能\) 頁面上,請注意有六個套件群組的清單。
按一下 [Mixed Reality Toolkit (0/10)] 左側的 "+" 按鈕,然後選取最新版的 [Mixed Reality Toolkit Foundation]。
注意
混合實境工具組基礎套件是唯一必須匯入並設定為搭配專案使用 MRTK 的套件。 此套件包含建立混合實境應用程式所需的核心元件。
按一下 [Platform Support (0/5)] \(平台支援 (0/5)\) 左側的 "+" 按鈕,然後選取最新版本的 [Mixed Reality OpenXR Plugin] \(Mixed Reality OpenXR 外掛程式\)。
選取之後,請按一下 [取得功能]。
選取 [Validate] \(驗證\) 以驗證您選取的套件。 您應該會看到一個對話方塊,指出 [No validation issues were detected] \(未偵測到任何驗證問題\)。 當您看到該對話方塊後,請按一下 [OK] \(確定\)。
在 [Import Features] \(匯入功能\) 頁面上,左側資料行 [Features] \(功能\) 會顯示您剛才選取的套件。 右側資料行 [Required dependencies] \(必要相依性\) 會顯示任何相依性。 您可以按一下這些項目的 [Details] \(詳細資料) 連結,以深入了解這些項目。
當您準備好繼續進行時,請選取 [Import] \(匯入\)。在 [Review and Approve] \(檢閱並核准\) 頁面上,您可以檢閱套件的相關資訊。
選取 [核准]。
返回 Unity Editor,然後按一下 UI 中的空白區域。 您會看到進度列,其中顯示系統正在匯入套件。
設定輸入後端設定
在 Unity 匯入套件之後,會出現警告,詢問您是否要重新啟動編輯器來啟用後端。 選取 [是]。
透過專案驗證設定 HoloLens 2 的專案 (MR OpenXR 1.6+)
如果您要針對桌面 VR 進行開發,請略過本節,並移至設定 桌面 VR 的專案。
- 在功能表欄上 ,按兩下 [混合實境 > 專案驗證設定 > HoloLens 2 應用程式] [UWP], 以啟用 HoloLens 2 的驗證規則。 針對 1.9 版之前的 MR OpenXR 外掛程式,可用的功能表項是 [混合實境 > 專案 > 套用 HoloLens 2 的建議項目設定]。
- 在快顯的專案驗證視窗中,確定您位於 [UWP 平臺] 索引標籤上(以 Windows 標誌表示),然後按兩下 [ 全部修正 ] 以解決驗證問題。 請注意,在按兩下 [ 全部修正] 之後,可能會仍有問題。 在此情況下,請嘗試再次按兩下 [ 修正所有 ],忽略標示為「場景特定」的任何問題(如果有的話),並流覽其餘的問題(如果有的話),以查看您是否有任何建議的變更。
- 此時,項目幾乎已準備好進行 HoloLens 2 部署。 繼續進行下一個步驟的 [ 設定播放機設定 ]。
手動設定 HoloLens 2 的專案
如果您要針對桌面 VR 進行開發,請略過本節,並移至設定 桌面 VR 的專案。
請確定 [ 項目設定] 視窗已開啟。 如果沒有,請在功能表欄上選取 [編輯>項目設定]。
在 [項目設定] 視窗中,確定您位於 [XR 外掛程式管理] 頁面和 [通用 Windows 平台] 索引標籤中。
確定已選取 [啟動時初始化 XR],然後在 [外掛程式提供者] 底下,按兩下 [OpenXR]。
OpenXR 外掛程式會載入,然後在OpenXR下方顯示多個專案。 選取 [Microsoft HoloLens 功能群組]。
請注意,OpenXR 旁邊有黃色警告三角形。 這表示您有需要解析的不相容設定。 若要瞭解如何解決此問題,請略過下一節有關設定VR,並繼續下一節解決 不相容的設定。
透過專案驗證設定桌面 VR 的專案 (MR OpenXR 1.9+)
- 在功能表列上 ,按兩下 [混合實境 > 專案驗證設定 > Win32 應用程式] [獨立] 以啟用桌面 XR 應用程式的驗證規則。
- 在快顯的專案驗證視窗中,確定您位於 [獨立平臺] 索引標籤上,然後按兩下 [ 全部 修正] 以解決驗證問題。 請注意,在按兩下 [ 全部修正] 之後,可能會仍有問題。 在此情況下,請嘗試再次按兩下 [ 修正所有 ],忽略標示為「場景特定」的任何問題(如果有的話),並流覽其餘的問題(如果有的話),以查看您是否有任何建議的變更。
手動設定桌面 VR 的專案
請確定 [ 項目設定] 視窗已開啟。 如果沒有,請移至功能表欄,選取 [編輯>項目設定]。
在 [ 項目設定] 視窗中,確定您位於 [XR 外掛程式管理 ] 頁面,並在 [計算機][Mac 和 Linux 獨立] 索引標籤中。
確定已選取 [啟動時初始化 XR],然後在 [外掛程式提供者] 底下,按兩下 [OpenXR]。
OpenXR 外掛程式會載入,然後兩個項目會出現在 OpenXR 下方。 選取第一個 Windows Mixed Reality 功能群組。
請注意,[OpenXR] 旁邊現在有黃色警告三角形。 這表示您有需要解析的不相容設定。 若要瞭解如何解決此問題,請繼續進行下一節解決 不相容的設定。
解決不相容的設定
重要
本節中的影像會顯示 [通用 Windows 平台] 索引標籤中的選項。不過,桌面 VR 索引標籤的指示相同,但未注意到。
將游標暫留在 OpenXR 旁邊的黃色警告三角形上,然後讀取快顯中的訊息,然後選取三角形。
在 [OpenXR Project Validation] \(OpenXR 專案驗證\) 視窗中,列出數個問題。 選取 [Fix All] \(全部修正\) 按鈕。 注意:此列表可能會根據您所在的索引標籤而有所不同。
仍有一個問題,告知您至少必須新增一個互動設定檔。 若要這樣做,請按一下 [Edit] \(編輯\)。 這會帶您前往 [專案設定] 視窗中 OpenXR 外掛程式的設定。
在 [互動設定檔] 底下,留意加號 (+) 按鈕。
每次選擇不同的設定檔時,請按三下按鈕:
Eye Gaze Interaction Profile (眼球注視互動設定檔)
Microsoft Hand Interaction Profile (Microsoft 手部互動設定檔)
Microsoft Motion Controller Profile (Microsoft 動作控制器設定檔)
如果 [Eye Gaze Interaction Profile] \(眼球注視互動設定檔\) 或任何其他設定檔在出現時,旁邊有一個黃色三角形,請選取三角形,然後在 [OpenXR Project Validation] \(OpenXR 專案驗證\) 視窗中,按一下 [Fix] \(修正\) 按鈕。 完成時,請關閉 [OpenXR 專案驗證] 視窗。
在 [OpenXR Feature Groups] \(OpenXR 功能群組\) 下的 [Project Settings] \(專案設定\) 視窗中,確保已選取下列項目:
如果您是在 [桌面 VR] 索引標籤中:
Windows Mixed Reality
手部追蹤
動作控制器模型
如果您是在 [通用 Windows 平台] 索引標籤中:
Microsoft HoloLens
手部追蹤
動作控制器模型
按一下 [Depth Submission Mode] \(深度提交模式\) 下拉式清單,然後選取 [Depth 16 Bit] \(深度 16 位元\)。
提示
您可以選擇是否將 [Depth Format] \(深度格式\) 減少為 16 位元,但這麼做可改善專案中的圖形效能。 若要深入了解,請參閱深度緩衝區共用 (HoloLens)。
注意
位於 [Depth Submission Mode] \(深度提交模式\) 正上方的 [Render Mode] \(轉譯模式\) 設定,預設會設定為 [Single Pass Instanced] \(單一傳遞執行個體化\)。 在混合實境應用程式中,場景會轉譯兩次,也就是雙眼個別轉譯一次。 結果會產生「立體視覺」。這會將必要的運算量加倍,因此請務必在 Unity 中選取最有效率的轉譯路徑,以節省 CPU 和 GPU 時間。 單一傳遞執行個體化轉譯是這裡的最佳選擇,建議您針對每個專案預設予以啟用。 若要深入了解,請參閱 Unity 文件 (英文)。
設定播放機設定
在 [Project Settings] \(專案設定\) 視窗的左側資料行中,選取 [Player] \(玩家\)。
請注意,在 [ 播放機 ] 視窗中,[ 產品名稱] 方塊已經填滿。 這會取自您的項目名稱,而且將會是 HoloLens [開始] 功能表 中顯示的名稱。
提示
若要在開發期間更容易找到應用程式,請在名稱前面加上底線,將其排序到任何清單的頂端。
按兩下 [ 發佈設定 ] 下拉式清單,然後在 [套件名稱 ] 字段中輸入適當的名稱。
注意
套件名稱是應用程式的唯一識別碼。 如果您想要避免以相同名稱覆寫先前安裝的應用程式版本,則應該在部署應用程式之前變更此識別碼。
關閉 [Project Settings] \(專案設定\) 視窗。
您現在已準備好開始使用 Unity 中的 OpenXR 進行開發!
Unity 範例專案
查看 範例 Unity 專案的 OpenXR 混合實境範例存放庫,示範如何使用混合實境 OpenXR 外掛程式建置 HoloLens 2 或混合實境頭戴式裝置的 Unity 應用程式。