境界システムの概要 — MRTK2
境界システムは、Mixed Reality アプリケーションで Virtual Reality 境界コンポーネントを視覚化するためのサポートを提供します。 境界は、ユーザーが VR ヘッドセットを装着しながら安全に移動できる領域を定義します。 境界は、VR ヘッドセットを装着している間にユーザーが見えない障害を避けるのに役立つ Mixed Reality エクスペリエンスの重要なコンポーネントです。
多くの Virtual Reality プラットフォームでは、自動表示が行われます。たとえば、ユーザーまたはコントローラーが境界に近づくと、仮想世界に白い枠線が重なります。 Mixed Reality ツールキットの境界システムは、この機能を拡張して、追跡対象エリアのアウトライン、フロア プレーン、およびユーザーに追加情報を提供するために使用できるその他の機能を表示できるようにします。
作業の開始
境界のサポートを追加するには、Mixed Reality Toolkit の 2 つの主要なコンポーネントである境界システムと、境界で構成された Virtual Reality プラットフォームが必要です。
境界システムを有効にする
境界システムは、MixedRealityToolkit オブジェクト (または別のサービス レジストラー コンポーネント) によって管理されます。
次のステップは、MixedRealityToolkit オブジェクトの使用を前提としています。 他のサービス レジストラーに必要なステップは異なる場合があります。
シーン階層の MixedRealityToolkit オブジェクトを選択します。
[インスペクター] パネルで [境界システム] セクションに移動し、[有効化] をオンにします
境界システムの実装を選択します。 MRTK によって提供される既定のクラス実装は、
MixedRealityBoundarySystem
Note
すべての境界システムの実装では、IMixedRealityBoundarySystem
を拡張する必要があります
境界の視覚化を構成する
境界システムは、構成プロファイルを使用して、表示する境界コンポーネントを指定し、外観を構成します。
Note
既定のプロファイル DefaultMixedRealityBoundaryVisualizationProfile
(Assets/MRTK/SDK/Profiles) のユーザーは、フロア平面、再生領域、追跡領域を表示するように、境界システムが事前構成されています。
ビルドとデプロイ
希望の視覚化オプションを使用して境界システムを構成したら、プロジェクトをターゲット プラットフォームにビルドしてデプロイできます。
Note
Unity 再生モードを使用すると、構成された境界をエディター内で視覚化できます。 この機能により、ビルドとデプロイの手順を必要とせずに、迅速な開発とテストが可能です。 必ず最終的な受け入れテストとして、ビルドしてデプロイしたアプリケーションを使用して、ターゲットのハードウェアとプラットフォーム上で実行してください。
コードを使用した境界システムへのアクセス
有効になっていて構成済みである場合は、CoreServices 静的ヘルパー クラスを使用して境界システムにアクセスできます。 その後、参照を使用して、境界パラメーターを動的に変更し、システムによって管理される関連する GameObject にアクセスできます。
// Hide Boundary Walls at runtime
CoreServices.BoundarySystem.ShowBoundaryWalls = false;
// Get Unity GameObject for the floor visualization in scene
GameObject floorVisual = CoreServices.BoundarySystem.GetFloorVisualization();