デバイスのメッシュ オブザーバーの構成 — MRTK2
このガイドでは、Windows Mixed Reality プラットフォーム (HoloLens など) をサポートする、MRTK ですぐに使用できる Spatial Mesh オブザーバーを構成する方法について説明します。 Mixed Reality Toolkit によって提供される既定の実装は、WindowsMixedRealitySpatialMeshObserver クラスです。 ただし、この記事のプロパティの多くは、他の カスタムオブザーバー実装に適用されます。
プロファイル設定
空間 認識システムの空間メッシュ オブザーバー プロファイルを構成する場合は、最初に次の 2 つの項目を定義する必要があります。
- 具体的なオブザーバー型の実装
- このオブザーバーを実行するためにサポートされているプラットフォームの一覧
注:
すべてのオブザーバーは 、IMixedRealitySpatialAwarenessObserver インターフェイスを拡張する 必要があります。
全般設定
スタートアップ動作
スタートアップ動作は、最初にインスタンス化されたときにオブザーバーの実行を開始するかどうかを指定します。 次の 2 つのオプションがあります:
- 自動開始 - 初期化後にオブザーバーが操作を開始する既定値
- 手動開始 - オブザーバーは開始を指示されるのを待ちます
手動スタートを使用する場合は、コードを使用して実行時に再開して中断する必要があります。
更新間隔
空間メッシュ データを更新するためのプラットフォームへの要求の間の時間 (秒単位)。 一般的な値は、0.1 秒と 5.0 秒の範囲にあります。
静止オブザーバー
オブザーバーが静止したままにするか、ユーザーと一緒に移動および更新するかを示します。 true の場合、観測範囲で定義されたボリュームを持つオブザーバーシェイプは、起動時に原点に残ります。 false の場合、オブザーバー空間は図形の原点としてユーザーの頭に従います。
これらのプロパティで定義されているように、オブザーバー空間の外側の物理領域に対して計算されるメッシュ データはありません: 静止オブザーバー、 オブザーバーシェイプ*、 および観測範囲です。
オブザーバーシェイプ
オブザーバー シェイプは、メッシュオブザーバーがメッシュを観察するときに使用するボリュームの種類を定義します。 サポートされているオプションは次のとおりです。
- 軸揃えキューブ - アプリケーションの起動時に決定されたワールド座標系の軸に合わせて配置された四角形の図形。
- ユーザー配置キューブ - ユーザーのローカル座標系に合わせて回転する四角形の図形。
- 球体 - ワールド空間の原点に中心を持つ球形のボリューム。 [観測範囲] プロパティの X 値は、球の半径として使用されます。
観測範囲
観測範囲は、メッシュが観測される観測点からの距離を定義します。
物理設定
物理レイヤー
Unity物理およびレイキャスト システムと対話するために空間メッシュ オブジェクトを配置する物理レイヤー。
注:
Mixed Reality Toolkit では、空間認識オブザーバーで使用するためにレイヤー 31 が既定で予約されます。
法線を再計算する
メッシュ オブザーバーが、観測に従ってメッシュの法線を再計算するかどうかを指定します。 この設定は、アプリケーションがメッシュで返されないプラットフォーム上の有効な法線データを含むメッシュを確実に受け取るために使用できます。
詳細レベルの設定
詳細レベル
空間メッシュ データの詳細レベル (LOD) を指定します。 現在定義されている値は、粗い、細かい、カスタムです。
粗い - Placesアプリケーションのパフォーマンスへの影響が小さく、ナビゲーション/プレーン検索に最適です。
中 - バランスの取れた設定は、多くの場合、大きな特徴、床、壁、オクルージョンの詳細の両方について環境を継続的にスキャンするエクスペリエンスに役立ちます。
正常 - 一般に、アプリケーションのパフォーマンスへの影響が高く、オクルージョン メッシュに最適なオプションです。
カスタム - アプリケーションで Triangles/Cubic Meter プロパティを指定し、アプリケーションが空間メッシュ オブザーバーの精度とパフォーマンスへの影響を調整できるようにする必要があります。
注:
すべての 三角形/立方メートル の値がすべてのプラットフォームで受け入れられているとは限りません。 カスタム LOD を使用する場合は、実験とプロファイリングを強くお勧めします。
1 立方メートルあたりの三角形
[詳細レベル] プロパティに [カスタム] 設定を使用し、空間メッシュの三角形密度を指定する場合に有効です。
表示設定
表示オプション
オブザーバーが空間メッシュを表示する方法を指定します。 サポートされている値は次のとおりです。
- なし - オブザーバーはメッシュをレンダリングしません
- 表示 - メッシュ データは、表示マテリアルを使用して表示されます
- オクルージョン - メッシュ データはオクルージョン マテリアルを使用してシーン内のアイテムを隠す
空間オブザーバーは、 コードを使用して実行時に再開または中断できます。
警告
[表示オプション] を [なし] に設定しても、オブザーバーの実行は停止されません。 すべてのオブザーバーを停止する場合、アプリケーションは、 を介してすべてのオブザーバーを中断する必要があります CoreServices.SpatialAwareness.SuspendObservers()
目に見える素材
空間メッシュを視覚化するときに使用するマテリアルを示します。
オクルージョン マテリアル
空間メッシュがホログラムを隠すために使用するマテリアルを示します。