MRTK パッケージ

Mixed Reality Toolkit (MRTK) は、Mixed Reality ハードウェアとプラットフォームのサポートを提供することで、クロス プラットフォーム Mixed Reality アプリケーション開発を可能にするパッケージのコレクションです。

MRTK は、アセット (.unitypackage) パッケージとして、Unity パッケージ マネージャーを介して使用できます。

アセット パッケージ

MRTK アセット (.unitypackage) は GitHub からダウンロードできます。

アセット パッケージを使用する利点には、次のようなものがあります。

  • Unity 2018.4 以降で使用可能
  • MRTK を簡単に変更できる
    • MRTK は Assets フォルダーにあります

たとえば、次のような課題があります。

  • MRTK は、プロジェクトの Assets フォルダーに含まれており、次の原因となります。
    • 大規模なプロジェクト
    • 低速なコンパイル時間
  • 依存関係の管理なし
    • 顧客はパッケージの依存関係を手動で解決する必要があります
  • 手動更新プロセス
    • 複数の手順
    • 大きな (3,000 以上のファイル) ソース管理の更新
    • MRTK に加えられた変更が失われるリスク
  • サンプル パッケージのインポートは、通常、すべてのサンプルを含めることを意味します

使用可能なパッケージは次のとおりです。

これらのパッケージは、GitHub の mrtk_release ブランチのソース コードから Microsoft によってリリースおよびサポートされています。

Foundation パッケージ

Mixed Reality Toolkit Foundation は、アプリケーションが Mixed Reality プラットフォーム間で共通の機能を利用できるようにする一連のコードです。

Pakage foundationMRTK Foundation パッケージ

MRTK Foundation パッケージには、次のものが含まれています。

Folder コンポーネント 説明
MRTK/Core インターフェイスと型の定義、基底クラス、標準シェーダー。
MRTK/Core/Providers プラットフォームに依存しないデータ プロバイダー
Hands ハンド トラッキングのための基底クラスのサポートとサービス。
InputAnimation ヘッド移動データとハンド トラッキング データを記録するためのサポート。
InputSimulation ハンドおよび視線入力のエディター内シミュレーションのサポート。
ObjectMeshObserver データとして 3D モデルを使用する空間認識オブザーバー。
UnityInput Unity の入力 API を介して実装される一般的な入力デバイス (ジョイスティック、マウスなど)。
MRTK/Providers プラットフォーム固有のデータ プロバイダー
LeapMotion UltraLeap Leap Motion コントローラーのサポート。
OpenVR OpenVR デバイスのサポート。
Oculus Oculus デバイス (Quest など) のサポート。
UnityAR (試験的) モバイル AR デバイスでの MRTK の使用を有効にするカメラ設定プロバイダー。
WindowsMixedReality Microsoft HoloLens やイマーシブ ヘッドセットなどの Windows Mixed Reality デバイスのサポート。
Windows Microsoft Windows 固有の API (音声やディクテーションなど) のサポート。
XR SDK (試験的) Unity 2019.3 以降の Unity の新しい XR フレームワークがサポートされています。
MRTK/SDK
実験用 シェーダー、ユーザー インターフェイス コントロール、および個々のシステム マネージャーなどの試験的な機能。
機能 Foundation パッケージに基づいて構築される機能。
Profiles Microsoft Mixed Reality Toolkit システムおよびサービスの既定のプロファイル。
StandardAssets 一般的なアセット。モデル、テクスチャ、マテリアルなど。
MRTK/SceneSystemResources シーン システムで使用されるアセットとリソース
MRTK/Services
BoundarySystem VR 境界サポートを実装するシステム。
CameraSystem カメラの構成と管理を実装するシステム。
DiagnosticsSystem ビジュアル プロファイラーなど、アプリケーション診断で実装するシステム。
InputSystem ユーザー入力にアクセスして処理するためのサポートを提供するシステム。
SceneSystem マルチシーン アプリケーション サポートを提供するシステム。
SpatialAwarenessSystem ユーザーの環境を認識するためのサポートを提供するシステム。
TeleportSystem テレポート (ジャンプで動き回るエクスペリエンス) のサポートを提供するシステム。
MRTK/StandardAssets MRTK 標準シェーダー、基本マテリアル、および Mixed Reality エクスペリエンスのためのその他の標準アセット

Extensions パッケージ

オプションの Microsoft.MixedRealityToolkit.Unity.Extensions パッケージには、Microsoft Mixed Reality Toolkit の機能を拡張する追加のサービスが含まれています。

Note

拡張機能パッケージには、Microsoft.MixedRealityToolkit.Unity.Foundation が必要です。

Folder コンポーネント 説明
MRTK/Extensions
HandPhysicsService 多関節ハンドに物理サポートを追加するサービス。
LostTrackingService Microsoft HoloLens デバイスでの損失の追跡処理を簡略化するサービス。
SceneTransitionService スムーズなシーン切り替えの追加を簡略化するサービス。

Tools パッケージ

オプションの Microsoft.MixedRealityToolkit.Unity.Tools パッケージには、Microsoft Mixed Reality Toolkit を使用して Mixed Reality 開発エクスペリエンスを強化する便利なツールが含まれています。 これらのツールは、Unity エディターの [Mixed Reality Toolkit] > [ユーティリティ] メニューにあります。

Note

ツール パッケージには、Microsoft.MixedRealityToolkit.Unity.Foundation が必要です。

Folder コンポーネント 説明
MRTK/Tools
BuildWindow UWP アプリケーションのビルドと展開のプロセスを簡略化するのに役立つツール。
DependencyWindow プロジェクト内のアセットの依存関係グラフを作成するツール。
ExtensionServiceCreator 拡張機能サービスの作成を支援するウィザード。
MigrationWindow 非推奨の MRTK コンポーネントを使用するコードの更新を支援するツール。
OptimizeWindow Unity で最高のパフォーマンスを得るための Mixed Reality プロジェクトの構成を自動化するのに役立つユーティリティ。
ReserializeAssetsUtility 特定の Unity ファイルの再シリアル化をサポートします。
RuntimeTools/Tools/ControllerMappingTool 開発者がハードウェア コントローラーの Unity マッピングをすばやく決定できるユーティリティ。
ScreenshotUtility Unity エディターでアプリケーション イメージをキャプチャできます。
TextureCombinerWindow グラフィックス テクスチャを結合するユーティリティ。
ツールボックス MRTK UX コンポーネントを簡単に検出して使用できる UI。

テスト ユーティリティ パッケージ

省略可能な Microsoft.MixedRealityToolkit.TestUtilities パッケージは、開発者が 再生モード テストを簡単に作成できるようにするヘルパー スクリプトのコレクションです。 これらのユーティリティは、MRTK コンポーネントを作成する開発者に特に役立ちます。

Folder コンポーネント 説明
MRTK/Tests
TestUtilities ハンド シミュレーション ユーティリティを含む、再生モード テストの作成を簡略化するメソッド。

サンプル パッケージ

サンプル パッケージには、foundation パッケージの機能を実行するデモ、サンプル スクリプト、サンプル シーンが含まれています。 このパッケージには、さまざまな種類のハンド入力 (多関節および非多関節) に応答するサンプル オブジェクトを含む HandInteractionExample シーン (次の図を参照) が含まれています。

HandInteractionExample scene

このパッケージには、ここに記載されている視線追跡デモも含まれています。

通常、MRTK の新機能には、同じフォルダー構造と場所に従って、サンプル パッケージに対応するサンプルが含まれている必要があります。

Note

サンプル パッケージには、Microsoft.MixedRealityToolkit.Unity.Foundation が必要です。

Folder コンポーネント 説明
MRTK/Examples
デモ 1 つまたは 2 つの関連する機能を示すシンプルなシーン。
実験用 試験的な機能を示すデモ シーン。
StandardAssets 複数のデモ シーンで共有される一般的なアセット。

Unity パッケージ マネージャー

Unity 2019.4 以降を使用して作成されたエクスペリエンスでは、Unity パッケージ マネージャーから MRTK を使用できます。

アセット パッケージを使用する利点には、次のようなものがあります。

  • 小規模なプロジェクト
    • よりクリーンな Visual Studio ソリューション
    • チェックインするファイルが少ない (MRTK は Packages/manifest.json ファイル内の単純な参照)
  • コンパイルの高速化
    • Unity では、構築中に MRTK を再コンパイルする必要がありません
  • 依存関係の解決
    • 依存関係を持つパッケージを指定すると、必要な MRTK パッケージが自動的にインストールされます
  • 新しい MRTK バージョンへの簡単な更新
    • Packages/manifest.json ファイルのバージョンを変更します

たとえば、次のような課題があります。

  • MRTK は変更不可
    • パッケージの解決中に削除せずに変更を加えることはできません
  • MRTK では、Unity 2018.4 での UPM パッケージがサポートされていません

Foundation パッケージ

foundation パッケージ (com.microsoft.mixedreality.toolkit.foundation) は、Mixed Reality Toolkit の基礎を形成します。

Folder コンポーネント 説明
MRTK/Core インターフェイスと型の定義、基底クラス、標準シェーダー。
MRTK/Core/Providers プラットフォームに依存しないデータ プロバイダー
Hands ハンド トラッキングのための基底クラスのサポートとサービス。
InputAnimation ヘッド移動データとハンド トラッキング データを記録するためのサポート。
InputSimulation ハンドおよび視線入力のエディター内シミュレーションのサポート。
ObjectMeshObserver データとして 3D モデルを使用する空間認識オブザーバー。
UnityInput Unity の入力 API を介して実装された一般的な入力デバイス (ジョイスティック、マウスなど)。
MRTK/Providers プラットフォーム固有のデータ プロバイダー
LeapMotion UltraLeap Leap Motion コントローラーのサポート。
OpenVR OpenVR デバイスのサポート。
Oculus Oculus デバイス (Quest など) のサポート。
UnityAR (試験的) モバイル AR デバイスでの MRTK の使用を有効にするカメラ設定プロバイダー。
WindowsMixedReality Microsoft HoloLens やイマーシブ ヘッドセットなどの Windows Mixed Reality デバイスのサポート。
Windows Microsoft Windows 固有の API (音声やディクテーションなど) のサポート。
XR SDK (試験的) Unity 2019.3 以降の Unity の新しい XR フレームワークがサポートされています。
MRTK/SDK
実験用 シェーダー、ユーザー インターフェイス コントロール、および個々のシステム マネージャーなどの試験的な機能。
機能 Foundation パッケージに基づいて構築される機能。
Profiles Microsoft Mixed Reality Toolkit システムおよびサービスの既定のプロファイル。
StandardAssets 一般的なアセット。モデル、テクスチャ、マテリアルなど。
MRTK/Services
BoundarySystem VR 境界サポートを実装するシステム。
CameraSystem カメラの構成と管理を実装するシステム。
DiagnosticsSystem ビジュアル プロファイラーなど、アプリケーション診断で実装するシステム。
InputSystem ユーザー入力にアクセスして処理するためのサポートを提供するシステム。
SceneSystem マルチシーン アプリケーション サポートを提供するシステム。
SpatialAwarenessSystem ユーザーの環境を認識するためのサポートを提供するシステム。
TeleportSystem テレポート (ジャンプで動き回るエクスペリエンス) のサポートを提供するシステム。

依存関係:

  • 標準アセット (com.microsoft.mixedreality.toolkit.standardassets)

標準アセット

標準アセット パッケージ (com.microsoft.mixedreality.toolkit.standardassets) は、次のようなすべての Mixed Reality エクスペリエンスに推奨されるコンポーネントのコレクションです。

  • MRTK 標準シェーダー
  • MRTK 標準シェーダーを使用した基本マテリアル
  • オーディオ ファイル
  • フォント
  • テクスチャ
  • アイコン

Note

アセンブリ定義に基づく破壊的な変更を回避するために、MRTK 標準シェーダーの一部の機能を制御するために使用されるスクリプトは、標準アセット パッケージには含まれていません。 これらのスクリプトは、MRTK/Core/Utilities/StandardShader フォルダーの foundation パッケージに含まれています。

依存関係: なし

拡張機能パッケージ

オプションの拡張機能パッケージ (com.microsoft.mixedreality.toolkit.extensions) には、MRTK の機能を拡張する追加コンポーネントが含まれています。

Folder コンポーネント 説明
MRTK/Extensions
HandPhysicsService 多関節ハンドに物理サポートを追加するサービス。
LostTrackingService Microsoft HoloLens デバイスでの損失の追跡処理を簡略化するサービス。
SceneTransitionService スムーズなシーン切り替えの追加を簡略化するサービス。
Samples~ サンプルのシーンとアセットを含む非表示の (Unity エディターの) フォルダーです。

サンプル プロジェクトを含むパッケージを使用するプロセスの詳細については、Mixed Reality Toolkit と Unity パッケージ マネージャーに関する記事を参照してください。

依存関係:

  • Foundation (com.microsoft.mixedreality.toolkit.foundation)

Tools パッケージ

オプションの tools パッケージ (com.microsoft.mixedreality.toolkit.tools) には、Mixed Reality エクスペリエンスの作成に役立つツールが含まれています。 一般に、これらのツールはエディター コンポーネントであり、そのコードはアプリケーションの一部として出荷されません。

Folder コンポーネント 説明
MRTK/Tools
BuildWindow UWP アプリケーションのビルドと展開のプロセスを簡略化するのに役立つツール。
DependencyWindow プロジェクト内のアセットの依存関係グラフを作成するツール。
ExtensionServiceCreator 拡張機能サービスの作成を支援するウィザード。
MigrationWindow 非推奨の MRTK コンポーネントを使用するコードの更新を支援するツール。
OptimizeWindow Unity で最高のパフォーマンスを得るための Mixed Reality プロジェクトの構成を自動化するのに役立つユーティリティ。
ReserializeAssetsUtility 特定の Unity ファイルの再シリアル化をサポートします。
RuntimeTools/Tools/ControllerMappingTool 開発者がハードウェア コントローラーの Unity マッピングをすばやく決定できるユーティリティ。
ScreenshotUtility Unity エディターでアプリケーション イメージをキャプチャできます。
TextureCombinerWindow グラフィックス テクスチャを結合するユーティリティ。
ツールボックス MRTK UX コンポーネントを簡単に検出して使用できる UI。

依存関係:

  • Foundation (com.microsoft.mixedreality.toolkit.foundation)

テスト ユーティリティ パッケージ

オプションのテスト ユーティリティ パッケージ (com.microsoft.mixedreality.toolkit.testutilities) には、開発者が再生モード テストを簡単に作成できるようにするヘルパー スクリプトのコレクションが含まれています。 これらのユーティリティは、MRTK コンポーネントを作成する開発者に特に役立ちます。

Folder コンポーネント 説明
MRTK/Tests
TestUtilities ハンド シミュレーション ユーティリティを含む、再生モード テストの作成を簡略化するメソッド。

依存関係:

  • Foundation (com.microsoft.mixedreality.toolkit.foundation)

サンプル パッケージ

サンプル パッケージ (com.microsoft.mixedreality.toolkit.examples) は、開発者が目的のサンプルのみをインポートできるように構造化されています。

サンプル プロジェクトを含むパッケージを使用するプロセスの詳細については、Mixed Reality Toolkit と Unity パッケージ マネージャーに関する記事を参照してください。

Folder コンポーネント 説明
MRTK/Examples
Samples~ サンプルのシーンとアセットを含む非表示の (Unity エディターの) フォルダーです。
StandardAssets 複数のデモ シーンで共有される一般的なアセット。

依存関係:

  • Foundation (com.microsoft.mixedreality.toolkit.foundation)
  • 拡張機能 (com.microsoft.mixedreality.toolkit.extensions)

関連項目