MRTK モジュール化

v2 の重要な新機能の 1 つはMixed Reality Toolkit強化されたコンポーネント化です。 可能な限り、個々のコンポーネントは、基盤のコア レイヤーを含むすべてのコンポーネントから分離されます。

最小化された依存関係

MRTK v2 は意図的にモジュール化され、システム サービス間の依存関係 (空間認識など) を最小限に抑えるために開発されました。

一部のシステム サービス (入力やテレポートなど) の性質上、いくつかの依存関係が存在します。

サービスには 1 つ以上のデータ プロバイダー コンポーネントが必要ですが、サービス間に直接リンクはありません。 SDK の機能 (例: ユーザー インターフェイス) も同様です。

コンポーネントの通信

コンポーネント間に直接リンクが表示されない場合、MRTK v2 はインターフェイスを利用して、サービス、データ プロバイダー、アプリケーション コード間の通信を行います。 これらのインターフェイスは で定義され、すべての通信はコア コンポーネントMixed Reality Toolkitルーティングされます。

インターフェイスを介した空間認識システムの使用

MRTK インポートフットプリントの最小化

現時点では、MRTK は 1 つの基盤パッケージとしてインポートされます (完全に省略可能なパッケージである examples パッケージの存在をしばらく無視します)。 インポートされたファイルを手動で切り分け、このフットプリントを小さくすることもできますが、これは、十分に定義されたガイドがない高度に手動のプロセスです。

Foundation パッケージのインポート中に任意の項目をオフにできます。 ただし、機能が壊れる可能性がある開発の初期段階でこれを行うのは推奨されません。 アプリの最終的な機能セットを把握したら、不要なプロバイダーとサービスを削除するには、次のフォルダーを使用します。

  • MRTK/サービス
  • MRTK/プロバイダー
  • MRTK/SDK/Features

注意

MRTK v2.x には Assets/MRTK/Core フォルダーの内容が必要です。 ****

今後の機能

アプリケーションのアーキテクチャ

MRTK では、次を含むさまざまなアーキテクチャを使用してアプリケーションをビルドできるサポートが提供されます。

アプリケーション アーキテクチャを選択する場合は、設計の柔軟性とアプリケーションのパフォーマンスを考慮することが重要です。 ここで説明するアーキテクチャは、すべてのアプリケーションに適している必要はありません。

MixedRealityToolkit サービス ロケーター

MRTK を使用すると、アプリケーション シーンで既定のサービス ロケーター コンポーネントを使用できます (および自動的 MixedRealityToolkit に構成されます)。 このコンポーネントには、構成インスペクターを介して MRTK システムとデータ プロバイダーを構成するためのサポートが含まれており、コンポーネントの寿命とコア動作 (更新する場合など) を管理します。

すべてのシステムは、プロジェクトに存在するか有効にするかに関係なく、コア構成インスペクターで表されます。 詳細については 、Mixed Reality構成ガイド を参照してください。

個々のサービス コンポーネント

一部の開発者は、個々のサービス コンポーネントをアプリケーション シーン階層に含めしたいという願望を表明しています。 この使用を有効にするには、サービスをカスタム レジストラーにカプセル化するか、自己登録/自己管理する必要があります。

自己登録サービスでは、 が実装され、アプリケーション コードがレジストリを介してサービス インスタンスを検出できるよう、それ IMixedRealityServiceRegistrar 自体が登録されます。

自己管理サービスは、シーン階層内のシングルトン オブジェクトとして実装できます。 このオブジェクトは、アプリケーション コードがサービス機能に直接アクセスするために使用できる および インスタンス プロパティを提供します。

カスタム サービス ロケーター

一部の開発者は、カスタム サービス ロケーター コンポーネントを作成する機能を要求しています。 カスタム サービス ロケーターは、インターフェイスを IMixedRealityServiceRegistrar 実装し、アクティブなサービスのライフ サイクルとコア動作を管理します。

ハイブリッド アーキテクチャ

MRTK は、開発者が必要に応じて、または必要に応じて以前のアプローチを組み合わせ可能なハイブリッド アーキテクチャをサポートします。 たとえば、開発者はサービス ロケーターから始め MixedRealityToolkit 、自己登録サービスを追加できます。

注意

ハイブリッド アーキテクチャを選択する場合は、作業の重複 (たとえば、複数のコンポーネントからコントローラー データを取得する) に注意することが重要です。