我想知道是否有一种方法可以检查传感器是否在HMD中检测到物体。具体来说,这是针对当前最新版本的Unity和Oculus Rift CV1。
我之所以希望这样做是因为当用户没有佩戴HMD时,我暂停了游戏。
答案 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)
{
}