[SteamVR]VRシーンと非VRのシーンを切り替える

またまた小ネタです。

SteamVRを使ったPC用のアプリで、非VRシーン(文字入力が必要なUIなどを想定)と、VRのシーンを切り替える方法です。

まず、Player SettingsのXR Settingsで、「None」を追加して一番上にしておきます。

この状態だと、非VRの画面でアプリが開始します。

そしてシーンに切り替え後に、XRSettings.LoadDeviceByName を使用します。
(別にシーンを切り替えなくても、同じシーンでVRと非VRの切り替えができます)

    IEnumerator LoadDevice(string newDevice)
    {
        if (String.Compare(XRSettings.loadedDeviceName, newDevice, true) != 0)
        {
            XRSettings.LoadDeviceByName(newDevice);
            yield return null;
            XRSettings.enabled = true;
        }
    }

切り替える際(シーン遷移後ならStart関数などで)、VRシーンの場合は

StartCoroutine(LoadDevice("OpenVR"));

とし、非VRシーンでは

StartCoroutine(LoadDevice("None"));

を呼ぶだけです。

同じシーンでボタンで切り替えている動画です↓

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク