如何禁用和启用Oculus Teleportation(Unity)?

时间:2018-11-02 19:12:53

标签: c# unity3d virtual-reality oculus

好吧,我的问题是oculus触摸板使用相同的握柄控件来确定隐形眼镜的传送/瞄准和拾取对象。我不想更改控件,因为它们很直观,但是我不能像现在当他们拾起一个物体时那样随机地进行传送。

Oculus标准的Locomotion Teleport类中没有禁用功能,我已经尝试过这样禁用它:

private void Update()
    {

        locomotionTeleport = GameObject.FindObjectOfType<LocomotionTeleport>();
        // print(GameObject.FindObjectsOfType<OVRGrabber>()[0].isGrabbing || GameObject.FindObjectsOfType<OVRGrabber>()[1].isGrabbing);
        locomotionTeleport.enabled = !(GameObject.FindObjectsOfType<OVRGrabber>()[0].isGrabbing || GameObject.FindObjectsOfType<OVRGrabber>()[1].isGrabbing);
    }

我在哪里跟踪对象是否在OVRGrabbers中被抓取:

void OnTriggerEnter(Collider otherCollider)
    {
        // Get the grab trigger
        OVRGrabbable grabbable = otherCollider.GetComponent<OVRGrabbable>() ?? otherCollider.GetComponentInParent<OVRGrabbable>();
        if (grabbable == null) return;

        if(grabbable != null)
        {
            isGrabbing = true;

        }

但是这什么也没做。我没有尝试在瞬移类中设置bool标志做任何事情。如果物体被拾取后又能重新启用,该如何防止传送?

0 个答案:

没有答案