public Transform OculusPlayerPrefab;
public Transform DefaultPlayerPrefab;
void Start() {
Transform player = OVRDevice.IsHMDPresent() ?
(Transform)Instantiate(OculusPlayerPrefab) :
(Transform)Instantiate(DefaultPlayerPrefab);
player.position = transform.position;
}
这将检测oculus rift hmd是否已连接并实例化oculus player prefact,否则为默认值。然而,无论眼裂是否连通,
IsHMDPresent()
都返回false。但是,在unity/oculus集成包中,ovrmainmenu使用ishmdpresent()方法来获得预期的结果。 最佳答案
截至(至少)Unity 2018.2,使用Oculus实用程序,进行以下工作:
if (OVRManager.isHMDPresent) {
// headset connected
}
我要补充的是,您还可以订阅
HMDMounted
和HMDUnmounted
事件,这两个事件有些相关:OVRManager.HMDMounted += MyOnHMDMountedFunction();
OVRManager.HMDUnmounted += MyOnHMDUnmountedFunction();
当你戴上和/或取下耳机时,它们会开火。