空間認識の概要 — MRTK2

空間認識

空間認識システムは、Mixed Reality アプリケーションに実際の環境認識を提供します。 空間認識が Microsoft HoloLens に導入されたとき、環境のジオメトリを表すメッシュのコレクションが提供され、ホログラムと現実世界の間での優れた対話式操作が可能になりました。

Note

現時点では、Mixed Reality Toolkit には、最初に HoloToolkit にパッケージ化された Spatial Understanding アルゴリズムは付属していません。 通常、空間理解では、空間メッシュ データが変換され、単純化またはグループ化 (あるいは両方) が行われたメッシュ データ (平面、ウォール、フロア、シーリングなど) が作成されます。

作業の開始

Spatial Awareness のサポートを追加するには、Mixed Reality Toolkit の 2 つの主要コンポーネントである Spatial Awareness システムと、サポートされているプラットフォーム プロバイダーが必要です。

  1. 空間認識システムを有効にします
  2. メッシュ データを提供するために 1 つ以上の空間オブザーバーを登録して構成します。
  3. 空間認識をサポートするプラットフォームをビルドしてデプロイします。

空間認識システムを有効にする

空間認識システムは、MixedRealityToolkit オブジェクト (または別のサービス レジストラー コンポーネント) によって管理されます。 次の手順に従って、MixedRealityToolkit プロファイルで "空間認識システム" を有効または無効にします。

Mixed Reality Toolkit には、いくつかの既定の事前構成済みプロファイルが付属しています。 これらの中には、空間認識システムが既定で有効になっているものと無効になっているものがあります。 この事前構成 (特に無効になっている場合) の目的は、メッシュを計算してレンダリングするためのビジュアル オーバーヘッドを回避することです。

プロファイル 既定で有効なシステム
DefaultHoloLens1ConfigurationProfile (Assets/MRTK/SDK/Profiles/HoloLens1) False
DefaultHoloLens2ConfigurationProfile (Assets/MRTK/SDK/Profiles/HoloLens2) False
DefaultMixedRealityToolkitConfigurationProfile (Assets/MRTK/SDK/Profiles) True
  1. [Inspector](インスペクター) パネルのシーン階層で MixedRealityToolkit オブジェクトを選択します。

    MRTK で構成されたシーン階層

  2. [Spatial Awareness System](空間認識システム) セクションに移動し、[Enable Spatial Awareness System](空間認識システムを有効にする) をオンにします。

    空間認識を有効にする

  3. 空間認識システムで必要な実装の種類を選択します。 MixedRealitySpatialAwarenessSystem は既定で提供されます。

    空間認識システムの実装を選択する

オブザーバーを登録する

Mixed Reality Toolkit のサービスは、プラットフォーム固有のデータと実装コントロールを使用してメイン サービスを補完するデータ プロバイダー サービスを持つことができます。 この例として、Mixed Reality 入力システムがあります。これは複数のデータ プロバイダーを保持して、コントローラーや他の関連する入力情報をさまざまなプラットフォーム固有の API から取得します。

空間認識システムは、データ プロバイダーが現実世界に関するメッシュ データをシステムに提供するという点で似ています。 空間認識プロファイルには、少なくとも 1 つの空間オブザーバーが登録されている必要があります。 一般的に、空間オブザーバーは、プラットフォーム固有のエンドポイント (HoloLens など) からさまざまな種類のメッシュ データを表示するためのプロバイダーとして機能するプラットフォーム固有のコンポーネントです。

  1. "空間認識システム プロファイル" を開く、つまり展開します。

    空間認識システム プロファイル

  2. [Add Spatial Observer](空間オブザーバーの追加) ボタンをクリックします。

  3. 必要な "空間オブザーバーの実装の種類" を選択します。

    空間オブザーバーの実装を選択する

  4. 必要に応じて、オブザーバーの構成プロパティを変更します。

Note

DefaultMixedRealityToolkitConfigurationProfile (Assets/MRTK/SDK/Profiles) のユーザーには、WindowsMixedRealitySpatialMeshObserver クラスを使用する Windows Mixed Reality プラットフォーム用に空間認識システムが事前構成されます。

ビルドとデプロイ

必要なオブザーバーで空間認識システムが構成された後で、プロジェクトをビルドしてターゲット プラットフォームにデプロイできます。

重要

Windows Mixed Reality プラットフォーム (HoloLens など) をターゲットにする場合は、デバイス上で空間認識システムを使用するために [Spatial Perception capability](空間認識機能) が有効になっていることを確認します。

警告

Microsoft HoloLens を含む一部のプラットフォームでは、Unity 内からのリモート実行がサポートされています。 この機能により、ビルドとデプロイの手順を必要とせずに、迅速な開発とテストが可能です。 必ず最終的な受け入れテストとして、ビルドしてデプロイしたアプリケーションを使用して、ターゲットのハードウェアとプラットフォーム上で実行してください。

次の手順

上記の手順に従って空間認識システムを有効にした後で、さらに詳しくシステムの構成や制御を行うことができます。

インスペクターでオブザーバーを構成するための情報:

コードを使用してオブザーバーを制御および拡張するための情報:

関連項目