无法检测到裂痕,XR.XRSettings.enabled返回false

时间:2019-06-04 23:44:44

标签: c# unity3d virtual-reality oculus

我有一个项目需要同时支持Oculus Rift和SteamVR,我正在尝试将其从2017.2.0f3升级到2019.1.5。升级后,我无法识别裂痕。 我有以下代码:

private void SetUPVR()
{
    bool VREnabled =  UnityEngine.XR.XRSettings.enabled;
    string VRDeviceName = UnityEngine.XR.XRSettings.loadedDeviceName;

    if (UnityEngine.XR.XRDevice.GetNativePtr() != VRPtr)
    {
        VRPtr = UnityEngine.XR.XRDevice.GetNativePtr();

        if (VRDeviceName == "Oculus")
        {
           //do stuff
        }
        else if (VRDeviceName == "OpenVR")
        {
            //do stuff
        }
    }

    if (VREnabled && VRDeviceName == "Oculus")
    {
        //do stuff
    }
    else if(VREnabled && VRDeviceName == "OpenVR")
    {
        //do stuff
    }
}

我在项目设置中选中了“支持虚拟现实”。如果我在Virtual Reality SDKs部分中同时拥有Oculus SDK和OpenVR SDK,即使我在列表的顶部有Oculus,当我在编辑器中按play时,它始终会打开SteamVR。如果我从列表中删除了OpenVR SDK,那么UnityEngine.XR.XRSettings.enabled返回false,而UnityEngine.XR.XRSettings.loadedDevicName返回""

如果OpenVR SDK在列表中,则启用的返回true,而loadedDeviceName始终返回OpenVR

我什至没有插入vVve,只有裂痕。请帮忙。任何帮助都将受到赞赏。

0 个答案:

没有答案