MRTK パッケージ — MRTK2
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 のソース コードから Microsoft によってリリースおよびサポートされます。
Foundation パッケージ
Mixed Reality Toolkit Foundation は、アプリケーションが Mixed Reality プラットフォーム間で共通の機能を利用できるようにする一連のコードです。
MRTK Foundation パッケージMRTK Foundation パッケージには、次のものが含まれています。
フォルダー | コンポーネント | 説明 |
---|---|---|
MRTK/Core | インターフェイスと型の定義、基底クラス、標準シェーダー。 | |
MRTK/Core/Providers | プラットフォームに依存しないデータ プロバイダー | |
ハンド | ハンド トラッキングのための基底クラスのサポートとサービス。 | |
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 パッケージに基づいて構築される機能。 | |
プロファイル | 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 が必要です。
フォルダー | コンポーネント | 説明 |
---|---|---|
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 が必要です。
フォルダー | コンポーネント | 説明 |
---|---|---|
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 コンポーネントを作成する開発者に特に役立ちます。
フォルダー | コンポーネント | 説明 |
---|---|---|
MRTK/Tests | ||
TestUtilities | ハンド シミュレーション ユーティリティを含む、再生モード テストの作成を簡略化するメソッド。 |
サンプル パッケージ
サンプル パッケージには、foundation パッケージの機能を実行するデモ、サンプル スクリプト、サンプル シーンが含まれています。 このパッケージには、さまざまな種類のハンド入力 (多関節および非多関節) に応答するサンプル オブジェクトを含む HandInteractionExample シーン (次の図を参照) が含まれています。
このパッケージには、ここに記載されている視線追跡デモも含まれています。
より一般的には、MRTK の新機能には、同じフォルダー構造と場所にほぼ従って、サンプル パッケージに対応する例が含まれている必要があります。
Note
サンプル パッケージには、Microsoft.MixedRealityToolkit.Unity.Foundation が必要です。
フォルダー | コンポーネント | 説明 |
---|---|---|
MRTK/Examples | ||
デモ | 1 つまたは 2 つの関連する機能を示すシンプルなシーン。 | |
実験用 | 試験的な機能を示すデモ シーン。 | |
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 パッケージがサポートされていません
Foundation パッケージ
基盤パッケージ (com.microsoft.mixedreality.toolkit.foundation
) は、Mixed Reality Toolkit の基礎を形成します。
フォルダー | コンポーネント | 説明 |
---|---|---|
MRTK/Core | インターフェイスと型の定義、基底クラス、標準シェーダー。 | |
MRTK/Core/Providers | プラットフォームに依存しないデータ プロバイダー | |
ハンド | ハンド トラッキングのための基底クラスのサポートとサービス。 | |
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 パッケージに基づいて構築される機能。 | |
プロファイル | 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 の機能を拡張する追加のコンポーネントが含まれています。
フォルダー | コンポーネント | 説明 |
---|---|---|
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 エクスペリエンスの作成に役立つツールが含まれています。 一般に、これらのツールはエディター コンポーネントであり、そのコードはアプリケーションの一部として出荷されません。
フォルダー | コンポーネント | 説明 |
---|---|---|
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 コンポーネントを作成する開発者に特に役立ちます。
フォルダー | コンポーネント | 説明 |
---|---|---|
MRTK/Tests | ||
TestUtilities | ハンド シミュレーション ユーティリティを含む、再生モード テストの作成を簡略化するメソッド。 |
依存関係:
- Foundation (
com.microsoft.mixedreality.toolkit.foundation
)
サンプル パッケージ
サンプル パッケージ (com.microsoft.mixedreality.toolkit.examples
) は、開発者が目的のサンプルのみをインポートできるように構造化されています。
サンプル プロジェクトを含むパッケージを使用するプロセスの詳細については、Mixed Reality Toolkit と Unity パッケージ マネージャーに関する記事を参照してください。
フォルダー | コンポーネント | 説明 |
---|---|---|
MRTK/Examples | ||
Samples~ | サンプルのシーンとアセットを含む非表示の (Unity エディターの) フォルダーです。 | |
StandardAssets | 複数のデモ シーンで共有される一般的なアセット。 |
依存関係:
- Foundation (
com.microsoft.mixedreality.toolkit.foundation
) - 拡張機能 (
com.microsoft.mixedreality.toolkit.extensions
)