如何检查Unity 2018中的HMD是否正在使用?

时间:2018-07-17 03:22:09

标签: c# unity3d virtual-reality oculus

我想知道是否有一种方法可以检查传感器是否在HMD中检测到物体。具体来说,这是针对当前最新版本的Unity和Oculus Rift CV1。

我之所以希望这样做是因为当用户没有佩戴HMD时,我暂停了游戏。

1 个答案:

答案 0 :(得分:1)

这取决于Unity版本,并且随着时间的变化而变化。通常是VRDevice.isPresent属性,该属性已在某些版本中重命名。 Unity 5.2 及以下版本存在问题,因此VRSettings.loadedDevice应该用于5.2及以下版本。

对于 Unity 5.2 及以下版本,您需要UnityEngine.VR名称空间:

if (VRSettings.loadedDevice != VRDeviceType.None)
{

}

对于Unity 5.3及更高版本,您需要UnityEngine.VR名称空间

if (VRDevice.isPresent)
{

}

对于 Unity 2017.2 及更高版本,您需要UnityEngine.XR名称空间:

if (XRDevice.isPresent)
{

}

以上示例检查设备是否存在。要检查用户是否正在使用它们:

if (XRDevice.userPresence == UserPresenceState.Present)
{

}

if (VRDevice.userPresence == UserPresenceState.Present)
{

}