ユーザーは、デバイス上でプレイ領域の境界を指定できます (このプレイ領域は、ステージと呼ばれることもあります)。**OpenXR API を使用すると、Unreal Engine でこれらの境界にアクセスできます。

Oculus デバイスでは、ユーザーが近づくとガーディアン境界が表示されます。
このページでは、プロジェクトのプレイ領域の境界を視覚化する方法を説明します。デバイスでプレイ領域の境界を設定するには、デバイスのドキュメントを参照してください。
プレイ領域の境界を取得する
Get Play Area Bounds
関数は、プレイ領域内にある最大の長方形の長さを返します。ユーザーが境界に近づくと、OpenXR 互換のランタイムによってプレイ領域の境界が視覚化されます。また、ユーザーが境界に近づいたときにアプリケーションのカスタム ビジュアライゼーションでそれを通知したい際にも便利です。

Get Play Area Bounds
関数には 3 つの参照スペースがあり、Eye Level (目の高さ) 、 Floor Level (床の高さ) 、 Stage (ステージ) を返すことができます。これらの 3 つのスペースは、それぞれ OpenXR 参照スペースである View (ビュー) 、 Local (ローカル) 、および Stage (ステージ) にマップされます。多くの場合で、Stage 参照スペースを返すことをお勧めします。OpenXR 参照スペースの詳細については、『[OpenXR Specification]](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#reference-spaces)』を参照してください。
Get Play Area Bounds
関数がデータを返さない場合、使用している OpenXR ランタイムがプレイ領域の境界の OpenXR 機能を実装していない可能性があります。
テレポーテーションのビジュアライゼーション
プレイ領域の境界のビジュアライゼーションの例の 1 つとして、テレポーテーションに対する視覚化があります。「VR Template (VR テンプレート)」を使用すると、テレポート中にこのビジュアライゼーションを実装できます。

テレポートのビジュアライゼーションの定義は、「Content/VRTemplate/Blueprints」にある Blueprint VRTeleportVisualizer で行います。以下では、境界を視覚化する手順を説明します。
Begin Play で以下を行います。
-
ブループリントが、Stage 参照スペースを使用して
Get Play Area Bounds
を呼び出します。 -
次に、そのブループリントが X および Y データを Niagara System NS_PlayAreaBounds のユーザー変数に割り当てます。
-
NS_PlayAreaBounds は、Get Play Area Bounds から返された X 値と Y 値を使用して長方形を動的に描画します。
ティックで下記を行います。
-
ブループリントが、NS_TeleportRing で識別されるテレポートの場所を基準にして NS_PlayAreaBounds を移動します。
-
これにより、テレポート後、プレイ領域の境界に対してプレイヤーがどこにいるかを正確に視覚化できます。