代码之家  ›  专栏  ›  技术社区  ›  blue

如何禁用和启用oculus隐形传送(Unity)?

  •  1
  • blue  · 技术社区  · 7 年前

    好吧,我的问题是oculus TouchPad使用相同的抓地力控制来确定远程传送/瞄准和拾取对象。我不想更改控件,因为它们是直观的,但我不能让隐形传态像现在这样随机出现,当它们拾取一个对象时。

    Oculus标准移动传送类中没有禁用功能,我尝试过这样禁用它:

    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;
    
            }
    

    但这没用。没什么我试着在传送课上设置布尔标志。如果一个物体被捡起并在之后重新进入,我如何防止远程传送?

    0 回复  |  直到 7 年前