MRTK 套件 - MRTK2
混合實境工具組 (MRTK) 是一組套件,可提供混合實境硬體和平台的支援,以啟用跨平臺混合實境應用程式開發。
MRTK 可作為資產 (.unitypackage) 套件,並透過 Unity 封裝管理員 取得。
資產套件
MRTK 資產 (.unitypackage) 可以從 GitHub 下載。
使用資產套件的一些優點包括:
- 適用於 Unity 2018.4 和更新版
- 輕鬆變更 MRTK
- MRTK 位於 Assets 資料夾中
其中一些挑戰如下:
- MRTK 是專案 Assets 資料夾的一部分,導致
- 較大的專案
- 編譯時間變慢
- 沒有相依性管理
- 客戶必須手動解析套件相依性
- 手動更新程式
- 多個步驟
- 大型 (3000+ 檔案) 原始檔控制更新
- 遺失 MRTK 變更的風險
- 匯入範例套件通常表示包含所有範例
可用的套件包括:
GitHub 上的原始程式碼Microsoft會發行及支持這些套件。
基礎套件
混合實境工具組基礎是一組程序代碼,可讓應用程式跨混合實境平臺運用一般功能。

MRTK Foundation 套件包含下列專案。
Folder | 元件 | 描述 |
---|---|---|
MRTK/Core | 介面和類型定義、基類、標準著色器。 | |
MRTK/Core/Providers | 平臺無從驗證的數據提供者 | |
手形 | 手部追蹤的基類支持和服務。 | |
InputAnimation | 支援錄製頭部移動和手部追蹤數據。 | |
InputSimulation | 支援手部和眼部輸入的編輯器內模擬。 | |
ObjectMeshObserver | 使用 3D 模型作為數據的空間感知觀察者。 | |
UnityInput | 一般輸入設備(遊戲桿、滑鼠等)透過 Unity 的輸入 API 實作。 | |
MRTK/提供者 | 平臺特定數據提供者 | |
LeapMotion | UltraLeap Leap Motion 控制器的支援。 | |
OpenVR | 支援 OpenVR 裝置。 | |
伊克薩文 | 支援 Adis 裝置,例如 Quest。 | |
UnityAR | (實驗性)啟用 MRTK 與行動 AR 裝置搭配使用的相機設定提供者。 | |
WindowsMixedReality | 支援 Windows Mixed Reality 裝置,包括Microsoft HoloLens 和沉浸式頭戴式裝置。 | |
Windows | 支援Microsoft Windows 特定 API,例如語音和聽寫。 | |
XR SDK | (實驗性) 在 Unity 2019.3 和更新版本中支援 Unity 的新 XR 架構 。 | |
MRTK/SDK | ||
實驗 | 實驗性功能,包括著色器、使用者介面控件和個別系統管理員。 | |
功能 | 建置在Foundation套件上的功能。 | |
設定檔 | Microsoft混合實境工具組系統與服務的預設配置檔。 | |
StandardAssets | 一般資產;模型、紋理、材質等 | |
MRTK/SceneSystemResources | 場景系統所使用的資產和資源 | |
MRTK/服務 | ||
BoundarySystem | 實作 VR 界限支援的系統。 | |
CameraSystem | 實作相機設定和管理的系統。 | |
DiagnosticsSystem | 在應用程式診斷中實作的系統,例如可視化分析工具。 | |
InputSystem | 系統提供存取和處理使用者輸入的支援。 | |
SceneSystem | 提供多場景應用程式支持的系統。 | |
SpatialAwarenessSystem | 系統提供用戶環境感知的支援。 | |
TeleportSystem | 系統提供遠端傳輸的支援(移動跳躍體驗)。 | |
MRTK/StandardAssets | 適用於混合實境體驗的 MRTK 標準著色器、基本材質和其他標準資產 |
延伸模組套件
選擇性Microsoft.MixedRealityToolkit.Unity.Extensions 套件包含可擴充 Microsoft混合實境工具組功能的其他服務。
注意
延伸模組套件需要Microsoft.MixedRealityToolkit.Unity.Foundation。
Folder | 元件 | 描述 |
---|---|---|
MRTK/Extensions | ||
HandPhysicsService | 將物理支援新增至明確手部的服務。 | |
LostTrackingService | 可簡化在 HoloLens 裝置上追蹤遺失Microsoft處理的服務。 | |
SceneTransitionService | 簡化新增順暢場景轉換的服務。 |
工具套件
選用Microsoft.MixedRealityToolkit.Unity.Tools 套件包含實用的工具,可透過混合實境工具組Microsoft增強混合實境開發體驗。 這些工具位於 Unity 編輯器中的 [混合實境工具組 > 公用程式 ] 選單中。
注意
工具套件需要Microsoft.MixedRealityToolkit.Unity.Foundation。
Folder | 元件 | 描述 |
---|---|---|
MRTK/工具 | ||
BuildWindow | 有助於簡化建置和部署UWP應用程式程式的工具。 | |
DependencyWindow | 在專案中建立資產相依性圖形的工具。 | |
ExtensionServiceCreator | 協助建立延伸模組服務的精靈。 | |
MigrationWindow | 協助更新使用已取代 MRTK 元件之程式代碼的工具。 | |
OptimizeWindow | 公用程式可協助自動化設定混合實境專案,以獲得最佳 Unity 效能。 | |
ReserializeAssetsUtility | 提供重新串行化特定 Unity 檔案的支援。 | |
RuntimeTools/Tools/ControllerMappingTool | 公用程式可讓開發人員快速判斷硬體控制器的 Unity 對應。 | |
螢幕快照公用 | 啟用在 Unity 編輯器中擷取應用程式映像。 | |
TextureCombinerWindow | 結合圖形紋理的公用程式。 | |
工具箱 | 可讓您輕鬆探索及使用 MRTK UX 元件的 UI。 |
測試公用程式套件
選擇性Microsoft.MixedRealityToolkit.TestUtilities 套件是協助程式腳本的集合,可讓開發人員輕鬆 建立播放模式測試。 這些公用程式特別適用於建立 MRTK 元件的開發人員。
Folder | 元件 | 描述 |
---|---|---|
MRTK/測試 | ||
TestUtilities | 簡化遊戲模式測試建立的方法,包括手部模擬公用程式。 |
範例套件
範例套件包含示範、範例腳本和在基礎套件中練習功能的範例場景。 此套件包含 HandInteractionExample 場景 (如下圖所示),其中包含回應各種類型的手部輸入的範例物件(已表達和非清楚表達)。
此套件也包含眼球追蹤示範, 此處記載
更一般而言,MRTK 中的任何新功能都應該在範例套件中包含對應的範例,大致遵循相同的資料夾結構和位置。
注意
範例套件需要 Microsoft.MixedRealityToolkit.Unity.Foundation。
Folder | 元件 | 描述 |
---|---|---|
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
) 會形成混合實境工具組的基礎。
Folder | 元件 | 描述 |
---|---|---|
MRTK/Core | 介面和類型定義、基類、標準著色器。 | |
MRTK/Core/Providers | 平臺無從驗證的數據提供者 | |
手形 | 手部追蹤的基類支持和服務。 | |
InputAnimation | 支援錄製頭部移動和手部追蹤數據。 | |
InputSimulation | 支援手部和眼部輸入的編輯器內模擬。 | |
ObjectMeshObserver | 使用 3D 模型作為數據的空間感知觀察者。 | |
UnityInput | 一般輸入設備(遊戲桿、滑鼠等)透過 Unity 的輸入 API 實作。 | |
MRTK/提供者 | 平臺特定數據提供者 | |
LeapMotion | UltraLeap Leap Motion 控制器的支援。 | |
OpenVR | 支援 OpenVR 裝置。 | |
伊克薩文 | 支援 Adis 裝置,例如 Quest。 | |
UnityAR | (實驗性)啟用 MRTK 與行動 AR 裝置搭配使用的相機設定提供者。 | |
WindowsMixedReality | 支援 Windows Mixed Reality 裝置,包括Microsoft HoloLens 和沉浸式頭戴式裝置。 | |
Windows | 支援Microsoft Windows 特定 API,例如語音和聽寫。 | |
XR SDK | (實驗性) 在 Unity 2019.3 和更新版本中支援 Unity 的新 XR 架構 。 | |
MRTK/SDK | ||
實驗 | 實驗性功能,包括著色器、使用者介面控件和個別系統管理員。 | |
功能 | 建置在Foundation套件上的功能。 | |
設定檔 | Microsoft混合實境工具組系統與服務的預設配置檔。 | |
StandardAssets | 一般資產;模型、紋理、材質等 | |
MRTK/服務 | ||
BoundarySystem | 實作 VR 界限支援的系統。 | |
CameraSystem | 實作相機設定和管理的系統。 | |
DiagnosticsSystem | 在應用程式診斷中實作的系統,例如可視化分析工具。 | |
InputSystem | 系統提供存取和處理使用者輸入的支援。 | |
SceneSystem | 提供多場景應用程式支持的系統。 | |
SpatialAwarenessSystem | 系統提供用戶環境感知的支援。 | |
TeleportSystem | 系統提供遠端傳輸的支援(移動跳躍體驗)。 |
相依性:
- 標準資產 (
com.microsoft.mixedreality.toolkit.standardassets
)
標準資產
標準資產套件 (com.microsoft.mixedreality.toolkit.standardassets)
是針對所有混合實境體驗建議的元件集合,包括:
- MRTK 標準著色器
- 使用 MRTK 標準著色器的基本材質
- 音訊檔案
- 字型
- 紋理
- 圖示
注意
為了避免以元件定義為基礎的重大變更,用來控制 MRTK 標準著色器某些功能的腳本不會包含在標準資產套件中。 您可以在資料夾的基礎套件 MRTK/Core/Utilities/StandardShader
中找到這些文稿。
相依性:無
延伸模組套件
選擇性延伸模組套件 (com.microsoft.mixedreality.toolkit.extensions)
包含擴充 MRTK 功能的其他元件。
Folder | 元件 | 描述 |
---|---|---|
MRTK/Extensions | ||
HandPhysicsService | 將物理支援新增至明確手部的服務。 | |
LostTrackingService | 可簡化Microsoft HoloLens 裝置上追蹤遺失作業的服務。 | |
SceneTransitionService | 簡化新增順暢場景轉換的服務。 | |
樣品~ | 隱藏的 (在 Unity 編輯器) 資料夾中,其中包含範例場景和資產。 |
如需使用包含範例專案的套件程式的詳細資訊,請參閱混合實境工具組和 Unity 封裝管理員 一文。
相依性:
- 基礎 (
com.microsoft.mixedreality.toolkit.foundation
)
工具套件
選擇性工具套件 (com.microsoft.mixedreality.toolkit.tools)
包含可用於建立混合實境體驗的工具。 一般而言,這些工具是編輯器元件,其程式代碼不會作為應用程式的一部分提供。
Folder | 元件 | 描述 |
---|---|---|
MRTK/工具 | ||
BuildWindow | 有助於簡化建置和部署UWP應用程式程式的工具。 | |
DependencyWindow | 在專案中建立資產相依性圖形的工具。 | |
ExtensionServiceCreator | 協助建立延伸模組服務的精靈。 | |
MigrationWindow | 協助更新使用已取代 MRTK 元件之程式代碼的工具。 | |
OptimizeWindow | 公用程式可協助自動化設定混合實境專案,以獲得最佳 Unity 效能。 | |
ReserializeAssetsUtility | 提供重新串行化特定 Unity 檔案的支援。 | |
RuntimeTools/Tools/ControllerMappingTool | 公用程式可讓開發人員快速判斷硬體控制器的 Unity 對應。 | |
螢幕快照公用 | 啟用在 Unity 編輯器中擷取應用程式映像。 | |
TextureCombinerWindow | 結合圖形紋理的公用程式。 | |
工具箱 | 可讓您輕鬆探索及使用 MRTK UX 元件的 UI。 |
相依性:
- 基礎 (
com.microsoft.mixedreality.toolkit.foundation
)
測試公用程式套件
選擇性測試公用程式套件 (com.microsoft.mixedreality.toolkit.testutilities
) 包含協助程式腳本的集合,可讓開發人員輕鬆地建立播放模式測試。 這些公用程式特別適用於建立 MRTK 元件的開發人員。
Folder | 元件 | 描述 |
---|---|---|
MRTK/測試 | ||
TestUtilities | 簡化遊戲模式測試建立的方法,包括手部模擬公用程式。 |
相依性:
- 基礎 (
com.microsoft.mixedreality.toolkit.foundation
)
範例套件
範例套件 (com.microsoft.mixedreality.toolkit.examples
) 的結構可讓開發人員只匯入感興趣的範例。
如需使用包含範例專案的套件程式的詳細資訊,請參閱混合實境工具組和 Unity 封裝管理員 一文。
Folder | 元件 | 描述 |
---|---|---|
MRTK/範例 | ||
樣品~ | 隱藏的 (在 Unity 編輯器) 資料夾中,其中包含範例場景和資產。 | |
StandardAssets | 多個示範場景共用的一般資產。 |
相依性:
- 基礎 (
com.microsoft.mixedreality.toolkit.foundation
) - 擴充 (
com.microsoft.mixedreality.toolkit.extensions
)