XR シーンを設定するには、XR Origin を追加します。
これらのオブジェクトは、ゲームオブジェクトとコンポーネントのコレクションで、空間トラッキングデータをシーンに変換するための基準を提供します。これには、シーンカメラの制御も含まれます。シーンに追加された XR Origin は、接続されたカメラを制御して、ユーザーのヘッドマウント (VR) またはハンドヘルド (AR) デバイスをトラッキングします。また、コントローラー用のゲームオブジェクトが含まれているバージョンの XR Origin では、ゲームオブジェクトを動かしてユーザーのコントローラーをトラッキングします。
ノート:
シーンで利用できる XR Origin のオプションについては、XR Origin を参照してください。
XR シーンを設定するには、まず以下を行う必要があります。
以下は、XR 用にシーンを設定するための基本的な手順です。
対象のプロジェクトの種類、プラットフォーム、および Unity パッケージによっては、プロジェクトで追加の設定が必要になる場合があります。
AR プロジェクトの場合は、AR Foundation マニュアルのシーンの設定で、追加の設定手順と詳細を確認してください。
XR Interaction Toolkit を使用する VR プロジェクトについては、Interaction Toolkit マニュアルの全般的な設定を参照してください。
Apple Vision Pro の AR/MR プロジェクトでは、XR Origin ではなく Volume Camera を使用します。詳細は、PolySpatial visionOS: 新しい visionOS プロジェクトの開始を参照してください。
Apple Vision Pro の VR プロジェクトでは、ヘッドトラッキングデータとハンドトラッキングデータにアクセスするには、AR Foundation パッケージの AR Session オブジェクトをシーンに追加する必要があります。このデバイスの VR アプリは、平面検出、シーン再構築メッシュ、画像トラッキングなどの追加の ARKit データにもアクセスできます。visionOS の完全没入型 VR を参照してください。
XR と非 XR の両方で利用できるシーンがある場合は、XRSettings.enabled プロパティを使用して、XR サブシステムが現在ロードされていてアクティブになっているかどうか検出できます。この情報を元に、適切なゲームオブジェクトとコンポーネントのセットをアクティブまたは非アクティブにすることができます。
public void CheckXRStatus()
{
if (UnityEngine.XR.XRSettings.enabled)
{
Debug.Log("XR is active.");
}
else
{
Debug.Log("XR is not available.");
}
}
ノート: XRSettings.enabled プロパティの値を読み取ることで、XR の状態を特定できます。ただし、このプロパティへの値の設定に関しては、サポートが終了しており、機能しません。XR のオン/オフをランタイムで動的に切り替える方法については、XR ローダーのライフサイクル管理を参照してください。