MRTK 套件 — MRTK2
Mixed Reality Toolkit (MRTK) 是一組套件,可藉由提供Mixed Reality硬體和平臺的支援,啟用跨平臺Mixed Reality應用程式開發。
MRTK 可作為 資產 (.unitypackage) 套件,並透過 Unity 套件管理員取得。
資產套件
您可以從 GitHub下載 MRTK 資產 (.unitypackage) 。
使用資產套件的一些優點包括:
- 適用于 Unity 2018.4 和更新版本
- 輕鬆變更 MRTK
- MRTK 位於 Assets 資料夾中
其中一些挑戰如下:
- MRTK 是專案 Assets 資料夾的一部分,導致
- 較大的專案
- 編譯時間變慢
- 沒有相依性管理
- 客戶必須手動解析套件相依性
- 手動更新程式
- 多個步驟
- 大型 (3000+ 檔案) 原始檔控制更新
- 遺失對 MRTK 所做的變更的風險
- 匯入範例套件通常表示包括所有範例
可用的套件包括:
Microsoft 會從 GitHub上的原始程式碼發行及支援這些套件。
基礎套件
Mixed Reality Toolkit Foundation 是一組程式碼,可讓您的應用程式跨Mixed Reality平臺運用通用功能。
MRTK 基礎套件MRTK Foundation 套件包含下列專案。
資料夾 | 元件 | 描述 |
---|---|---|
MRTK/Core | 介面和類型定義、基類、標準著色器。 | |
MRTK/核心/提供者 | 平臺無關的資料提供者 | |
手 | 手部追蹤的基類支援與服務。 | |
InputAnimation | 支援錄製頭部移動和手部追蹤資料。 | |
InputSimulation | 支援手部和眼睛輸入的編輯器內模擬。 | |
ObjectMeshObserver | 使用 3D 模型作為資料的空間感知觀察者。 | |
UnityInput | 一般輸入裝置 (搖桿、滑鼠等) 透過 Unity 的輸入 API 實作。 | |
MRTK/提供者 | 平臺特定資料提供者 | |
LeapMotion | 支援 UltraLeap Leap 動作控制器。 | |
OpenVR | 支援 OpenVR 裝置。 | |
取 | 支援 取裝置,例如 Quest。 | |
UnityAR | (實驗性) 相機設定提供者,讓 MRTK 可與行動 AR 裝置搭配使用。 | |
WindowsMixedReality | 支援Windows Mixed Reality裝置,包括Microsoft HoloLens和沉浸式頭戴式裝置。 | |
Windows | 支援 Microsoft Windows 特定 API,例如語音和聽寫。 | |
XR SDK | (Unity 2019.3 和更新版本中 Unity 新 XR 架構 的實驗性) 支援。 | |
MRTK/SDK | ||
實驗 | 實驗性功能,包括著色器、使用者介面控制項和個別系統管理員。 | |
功能 | 建置在 Foundation 套件上的功能。 | |
Profiles | Microsoft Mixed Reality工具組系統和服務的預設設定檔。 | |
StandardAssets | 一般資產;模型、紋理、材質等。 | |
MRTK/SceneSystemResources | 場景系統所使用的資產和資源 | |
MRTK/服務 | ||
BoundarySystem | 實作 VR 界限支援的系統。 | |
CameraSystem | 實作相機組態和管理的系統。 | |
DiagnosticsSystem | 在應用程式診斷中實作的系統,例如視覺化分析工具。 | |
InputSystem | 系統提供存取和處理使用者輸入的支援。 | |
SceneSystem | 提供多場景應用程式支援的系統。 | |
SpatialAwarenessSystem | 系統提供使用者環境感知的支援。 | |
TeleportSystem | 系統支援遠端傳送 (移動跳躍體驗) 。 | |
MRTK/StandardAssets | MRTK 標準著色器、基本材質和其他標準資產,適用于混合實境體驗 |
擴充功能套件
選用的 Microsoft.MixedRealityToolkit.Unity.Extensions 套件包含可擴充 Microsoft Mixed Reality Toolkit 功能的其他服務。
注意
擴充功能套件需要 Microsoft.MixedRealityToolkit.Unity.Foundation。
資料夾 | 元件 | 描述 |
---|---|---|
MRTK/Extensions | ||
HandPhysicsService | 將物理支援新增至明確手部的服務。 | |
LostTrackingService | 可簡化Microsoft HoloLens裝置上追蹤遺失處理的服務。 | |
SceneTransitionService | 可簡化新增平滑場景轉換的服務。 |
工具套件
選用的 Microsoft.MixedRealityToolkit.Unity.Tools 套件包含實用的工具,可增強使用 Microsoft Mixed Reality Toolkit 的混合實境開發體驗。 這些工具位於 Unity 編輯器中的[Mixed Reality工具組 > 公用程式] 功能表中。
注意
工具套件需要 Microsoft.MixedRealityToolkit.Unity.Foundation。
資料夾 | 元件 | 描述 |
---|---|---|
MRTK/工具 | ||
BuildWindow | 可協助簡化建置和部署 UWP 應用程式程式的工具。 | |
DependencyWindow | 在專案中建立資產相依性圖形的工具。 | |
ExtensionServiceCreator | 精靈可協助建立延伸模組服務。 | |
MigrationWindow | 可協助更新使用已取代 MRTK 元件之程式碼的工具。 | |
OptimizeWindow | 公用程式,可協助自動設定混合實境專案,以獲得最佳 Unity 效能。 | |
ReserializeAssetsUtility | 提供重新序列化特定 Unity 檔案的支援。 | |
RuntimeTools/Tools/ControllerMappingTool | 公用程式可讓開發人員快速判斷硬體控制器的 Unity 對應。 | |
螢幕擷取畫面Utility | 啟用在 Unity 編輯器中擷取應用程式映射。 | |
TextureCombinerWindow | 結合圖形紋理的公用程式。 | |
工具箱 | 可讓您輕鬆探索及使用 MRTK UX 元件的 UI。 |
測試公用程式套件
選用的 Microsoft.MixedRealityToolkit.TestUtilities 套件是協助程式腳本的集合,可讓開發人員輕鬆地 建立播放模式測試。 這些公用程式特別適用于建立 MRTK 元件的開發人員。
資料夾 | 元件 | 描述 |
---|---|---|
MRTK/測試 | ||
TestUtilities | 簡化播放模式測試建立的方法,包括手部模擬公用程式。 |
範例套件
範例套件包含示範、範例腳本,以及在基礎套件中練習功能的範例場景。 此套件包含手部 InteractionExample 場景 (如下) ,其中包含回應各種手部輸入類型的範例物件, (表達和未表達的) 。
此套件也包含眼球追蹤示範,這裡 記載于此
一般而言,MRTK 中的任何新功能都應該在範例套件中包含對應的範例,大致遵循相同的資料夾結構和位置。
注意
範例套件需要 Microsoft.MixedRealityToolkit.Unity.Foundation。
資料夾 | 元件 | 描述 |
---|---|---|
MRTK/範例 | ||
示範 | 說明一或兩個相關功能的簡單場景。 | |
實驗 | 示範場景,說明實驗性功能。 | |
StandardAssets | 多個示範場景共用的一般資產。 |
Unity 套件管理員
如需使用 Unity 2019.4 和更新版本建立的體驗,MRTK 可透過 Unity 套件管理員取得。
使用資產套件的一些優點包括:
- 較小的專案
- 更簡潔的 Visual Studio 解決方案
- (MRTK 簽入的檔案較少是檔案)
Packages/manifest.json
- 更快速的編譯
- Unity 不需要在建置期間重新編譯 MRTK
- 相依性解析
- 指定具有相依性的套件時,會自動安裝必要的 MRTK 套件
- 輕鬆更新為新的 MRTK 版本
- 變更檔案中的
Packages/manifest.json
版本
- 變更檔案中的
其中一些挑戰如下:
- MRTK 不可變
- 在套件解析期間無法進行變更
- MRTK 不支援 Unity 2018.4 的 UPM 套件
基礎套件
基礎套件 (com.microsoft.mixedreality.toolkit.foundation
) 構成Mixed Reality工具組的基礎。
資料夾 | 元件 | 描述 |
---|---|---|
MRTK/Core | 介面和類型定義、基類、標準著色器。 | |
MRTK/核心/提供者 | 平臺無關的資料提供者 | |
手 | 手部追蹤的基類支援與服務。 | |
InputAnimation | 支援錄製頭部移動和手部追蹤資料。 | |
InputSimulation | 支援手部和眼睛輸入的編輯器內模擬。 | |
ObjectMeshObserver | 使用 3D 模型作為資料的空間感知觀察者。 | |
UnityInput | 一般輸入裝置 (搖桿、滑鼠等) 透過 Unity 的輸入 API 實作。 | |
MRTK/提供者 | 平臺特定資料提供者 | |
LeapMotion | 支援 UltraLeap Leap 動作控制器。 | |
OpenVR | 支援 OpenVR 裝置。 | |
取 | 支援 取裝置,例如 Quest。 | |
UnityAR | (實驗性) 相機設定提供者,讓 MRTK 可與行動 AR 裝置搭配使用。 | |
WindowsMixedReality | 支援Windows Mixed Reality裝置,包括Microsoft HoloLens和沉浸式頭戴式裝置。 | |
Windows | 支援 Microsoft Windows 特定 API,例如語音和聽寫。 | |
XR SDK | (Unity 2019.3 和更新版本中 Unity 新 XR 架構 的實驗性) 支援。 | |
MRTK/SDK | ||
實驗 | 實驗性功能,包括著色器、使用者介面控制項和個別系統管理員。 | |
功能 | 建置在 Foundation 套件上的功能。 | |
Profiles | Microsoft Mixed Reality工具組系統和服務的預設設定檔。 | |
StandardAssets | 一般資產;模型、紋理、材質等。 | |
MRTK/服務 | ||
BoundarySystem | 實作 VR 界限支援的系統。 | |
CameraSystem | 實作相機組態和管理的系統。 | |
DiagnosticsSystem | 在應用程式診斷中實作的系統,例如視覺化分析工具。 | |
InputSystem | 系統提供存取和處理使用者輸入的支援。 | |
SceneSystem | 提供多場景應用程式支援的系統。 | |
SpatialAwarenessSystem | 系統提供使用者環境感知的支援。 | |
TeleportSystem | 系統支援遠端傳送 (移動跳躍體驗) 。 |
相依性:
- 標準資產 (
com.microsoft.mixedreality.toolkit.standardassets
)
標準資產
標準資產套件 (com.microsoft.mixedreality.toolkit.standardassets)
是建議用於所有混合實境體驗的元件集合,包括:
- MRTK 標準著色器
- 使用 MRTK 標準著色器的基本材質
- 音訊檔案
- 字型
- 紋理
- 圖示
注意
為了避免根據元件定義進行重大變更,用來控制 MRTK Standard 著色器某些功能的腳本不會包含在標準資產套件中。 這些腳本可以在 資料夾中的基礎套件中找到 MRTK/Core/Utilities/StandardShader
。
相依性:無
延伸模組套件
選擇性擴充功能套件 (com.microsoft.mixedreality.toolkit.extensions)
包含可擴充 MRTK 功能的其他元件。
資料夾 | 元件 | 描述 |
---|---|---|
MRTK/Extensions | ||
HandPhysicsService | 將物理支援新增至明確手部的服務。 | |
LostTrackingService | 可簡化Microsoft HoloLens裝置上追蹤遺失的處理服務。 | |
SceneTransitionService | 可簡化新增平滑場景轉換的服務。 | |
樣品~ | Unity 編輯器) 資料夾中隱藏的 (,其中包含範例場景和資產。 |
如需使用包含範例專案的封裝程式的詳細資訊,請參閱Mixed Reality Toolkit 和 Unity 套件管理員一文。
相依性:
- Foundation (
com.microsoft.mixedreality.toolkit.foundation
)
工具套件
選擇性工具套件 (com.microsoft.mixedreality.toolkit.tools)
包含可用於建立混合實境體驗的工具。 一般而言,這些工具是編輯器元件,而且其程式碼不會作為應用程式的一部分出貨。
資料夾 | 元件 | 描述 |
---|---|---|
MRTK/工具 | ||
BuildWindow | 可協助簡化建置和部署 UWP 應用程式程式的工具。 | |
DependencyWindow | 在專案中建立資產相依性圖形的工具。 | |
ExtensionServiceCreator | 精靈可協助建立延伸模組服務。 | |
MigrationWindow | 可協助更新使用已取代 MRTK 元件之程式碼的工具。 | |
OptimizeWindow | 公用程式,可協助自動設定混合實境專案,以獲得最佳 Unity 效能。 | |
ReserializeAssetsUtility | 提供重新序列化特定 Unity 檔案的支援。 | |
RuntimeTools/Tools/ControllerMappingTool | 公用程式可讓開發人員快速判斷硬體控制器的 Unity 對應。 | |
螢幕擷取畫面Utility | 啟用在 Unity 編輯器中擷取應用程式映射。 | |
TextureCombinerWindow | 結合圖形紋理的公用程式。 | |
工具箱 | 可讓您輕鬆探索及使用 MRTK UX 元件的 UI。 |
相依性:
- Foundation (
com.microsoft.mixedreality.toolkit.foundation
)
測試公用程式套件
選擇性的測試公用程式套件 () com.microsoft.mixedreality.toolkit.testutilities
包含協助程式腳本集合,可讓開發人員輕鬆建立播放模式測試。 這些公用程式特別適用于建立 MRTK 元件的開發人員。
資料夾 | 元件 | 描述 |
---|---|---|
MRTK/測試 | ||
TestUtilities | 簡化播放模式測試建立的方法,包括手部模擬公用程式。 |
相依性:
- Foundation (
com.microsoft.mixedreality.toolkit.foundation
)
範例套件
範例套件 (com.microsoft.mixedreality.toolkit.examples
) 的結構,可讓開發人員只匯入感興趣的範例。
如需使用包含範例專案的封裝程式的詳細資訊,請參閱Mixed Reality Toolkit 和 Unity 套件管理員一文。
資料夾 | 元件 | 描述 |
---|---|---|
MRTK/範例 | ||
樣品~ | Unity 編輯器) 資料夾中隱藏的 (,其中包含範例場景和資產。 | |
StandardAssets | 多個示範場景共用的一般資產。 |
相依性:
- Foundation (
com.microsoft.mixedreality.toolkit.foundation
) - 擴充 (
com.microsoft.mixedreality.toolkit.extensions
)