docs.unity3d.com
    目次を表示する/隠す

    AR Session コンポーネント

    ARSession コンポーネントは、ターゲットプラットフォームで AR (拡張現実) を有効または無効にすることにより、AR エクスペリエンスのライフサイクルを制御します。

    AR Session コンポーネント
    AR Session コンポーネント

    セッション とは、AR のインスタンスを指します。平面検出のようなその他の機能は単独で有効または無効にできますが、セッションはすべての AR 機能のライフサイクルを制御します。AR Session コンポーネントを無効にすると、システムがその環境内の機能を追跡しなくなります。その後に AR Session コンポーネントを有効にすると、システムは前に検出した機能の回復と維持を試みます。

    Note

    複数の AR Session コンポーネントが同じシーン内にあると、互いに競合する可能性があるので、Unity ではシーンに追加する AR Session コンポーネントを最大でも 1 つにすることをお勧めします。

    デバイスサポートの確認

    プラットフォームによっては、デバイスのオペレーティングシステムに AR 機能が組み込まれているものがあります。また、AR ソフトウェアをオンデマンドでインストールできるものもあれば、AR がまったくサポートされていないものもあります。AR がサポートされていない場合に代わりのエクスペリエンスを提供できるように、アプリケーションで AR Foundation のサポートを検出できるようにする必要があります。

    "このデバイスでは AR を利用できるのか?" という疑問を解消するには、リモートサーバーでのソフトウェア可用性の確認が必要なので、CheckAvailability を呼び出して確認する必要があります。

    public class MyComponent {
        [SerializeField] ARSession m_Session;
    
        IEnumerator Start() {
            if ((ARSession.state == ARSessionState.None) ||
                (ARSession.state == ARSessionState.CheckingAvailability))
            {
                yield return ARSession.CheckAvailability();
            }
    
            if (ARSession.state == ARSessionState.Unsupported)
            {
                // サポート対象外のデバイス向けに何らかのフォールバックエクスペリエンスを開始する
            }
            else
            {
                // AR セッションを開始する
                m_Session.enabled = true;
            }
        }
    }
    

    Attempt Update を true に設定すると、デバイスで可能な場合に AR ソフトウェアのインストールを試みます。この機能のサポートはプラットフォームに依存します。

    セッションのステート

    セッションの現在のステート (例えば、デバイスがサポートされているか、AR ソフトウェアがインストールされているか、セッションが動作しているかなど) を判定するには、ARSession.state を使用します。また、ARSession.stateChanged イベントをサブスクライブすると、セッションのステートが変化したときにコールバックを受信することもできます。

    ARSessionState 説明
    None AR システムが初期化されていないため、可用性は不明です。
    Unsupported 現在のデバイスで AR はサポートされていません。
    CheckingAvailability システムが現在のデバイスでの AR の可用性をチェックしています。
    NeedsInstall 現在のデバイスで AR はサポートされていますが、AR のサポートに追加のソフトウェアのインストールが必要です。
    Installing AR ソフトウェアがインストールされています。
    Ready AR がサポートされていて、いつでも利用できます。
    SessionInitialized AR セッションが初期化されています (つまり開始されています)。通常は AR が動作していることを意味しますが、環境について十分な情報が収集されていません。
    SessionTracking AR セッションが実行され、トラッキングを行っています (つまりデバイスがワールド内での位置と向きを特定できます)。

    AR Input Manager

    ARInputManager コンポーネントは、ワールドトラッキングを有効にします。デフォルトでは、ARInputManager コンポーネントは AR Session ゲームオブジェクトに含まれています。

    Note

    AR Input Manager コンポーネントがないと、XROrigin でデバイスのワールド空間ポーズを取得できません。AR を適切に機能させるためには、AR Input Manager コンポーネントが必要です。

    AR Input Manager コンポーネント
    AR Input Manager コンポーネント

    AR Input Manager コンポーネントはシーン階層内のどこにでも移動できますが、1 つのシーンに複数加えることは避けてください。

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)