コード例 #1
0
 private void HideController()
 {
     if (grabbedObject != null)
     {
         controllerActions.ToggleControllerModel(false, grabbedObject);
     }
 }
コード例 #2
0
 private void HideController()
 {
     if (usingObject != null)
     {
         controllerActions.ToggleControllerModel(false);
     }
 }
コード例 #3
0
    private void OnTriggerExit(Collider collider)
    {
        if (IsObjectInteractable(collider.gameObject))
        {
            GameObject untouched;
            if (collider.gameObject.GetComponent <SteamVR_InteractableObject>())
            {
                untouched = collider.gameObject;
            }
            else
            {
                untouched = collider.gameObject.GetComponentInParent <SteamVR_InteractableObject>().gameObject;
            }

            OnControllerUntouchInteractableObject(SetControllerInteractEvent(untouched.gameObject));
            untouched.GetComponent <SteamVR_InteractableObject>().ToggleHighlight(false);
            untouched.GetComponent <SteamVR_InteractableObject>().StopTouching(this.gameObject);
        }

        if (hideControllerOnTouch)
        {
            controllerActions.ToggleControllerModel(true, touchedObject);
        }
        touchedObject = null;
    }
コード例 #4
0
 private void UseInteractedObject(GameObject touchedObject)
 {
     if ((usingObject == null || usingObject != touchedObject) && IsObjectUsable(touchedObject))
     {
         usingObject = touchedObject;
         OnControllerUseInteractableObject(interactTouch.SetControllerInteractEvent(usingObject));
         usingObject.GetComponent <SteamVR_InteractableObject>().StartUsing(this.gameObject);
         if (hideControllerOnUse)
         {
             controllerActions.ToggleControllerModel(false);
         }
     }
 }
コード例 #5
0
 private void OnTriggerExit(Collider collider)
 {
     if (IsObjectInteractable(collider.gameObject))
     {
         OnControllerUntouchInteractableObject(SetControllerInteractEvent(collider.gameObject));
         collider.GetComponent <SteamVR_InteractableObject>().ToggleHighlight(false);
         collider.GetComponent <SteamVR_InteractableObject>().StopTouching(this.gameObject);
     }
     touchedObject = null;
     if (hideControllerOnTouch)
     {
         controllerActions.ToggleControllerModel(true);
     }
 }
コード例 #6
0
 private void InitGrabbedObject()
 {
     grabbedObject = interactTouch.GetTouchedObject();
     OnControllerGrabInteractableObject(interactTouch.SetControllerInteractEvent(grabbedObject));
     grabbedObject.GetComponent <SteamVR_InteractableObject>().Grabbed(this.gameObject);
     if (grabbedObject)
     {
         grabbedObject.GetComponent <SteamVR_InteractableObject>().ToggleHighlight(false);
     }
     if (hideControllerOnGrab)
     {
         controllerActions.ToggleControllerModel(false);
     }
 }
コード例 #7
0
 void OnTriggerStay(Collider collider)
 {
     if (touchedObject == null && IsObjectInteractable(collider.gameObject))
     {
         touchedObject = collider.gameObject;
         OnControllerTouchInteractableObject(SetControllerInteractEvent(touchedObject));
         touchedObject.GetComponent <SteamVR_InteractableObject>().ToggleHighlight(true, globalTouchHighlightColor);
         touchedObject.GetComponent <SteamVR_InteractableObject>().StartTouching(this.gameObject);
         if (controllerActions.IsControllerVisible() && hideControllerOnTouch)
         {
             controllerActions.ToggleControllerModel(false);
         }
     }
 }
コード例 #8
0
    private void GrabInteractedObject()
    {
        if (controllerAttachJoint == null && grabbedObject == null && IsObjectGrabbable(interactTouch.GetTouchedObject()))
        {
            grabbedObject = interactTouch.GetTouchedObject();
            OnControllerGrabInteractableObject(interactTouch.SetControllerInteractEvent(grabbedObject));
            grabbedObject.GetComponent <SteamVR_InteractableObject>().Grabbed(this.gameObject);
            if (hideControllerOnGrab)
            {
                controllerActions.ToggleControllerModel(false);
            }

            SnapObjectToGrabToController(grabbedObject);
        }
    }
コード例 #9
0
    private void GrabInteractedObject()
    {
        if (grabbedObject == null && IsObjectGrabbable(interactTouch.GetTouchedObject()))
        {
            grabbedObject = interactTouch.GetTouchedObject();
            OnControllerGrabInteractableObject(interactTouch.SetControllerInteractEvent(grabbedObject));
            grabbedObject.GetComponent <SteamVR_InteractableObject>().Grabbed(this.gameObject);
            if (hideControllerOnGrab)
            {
                controllerActions.ToggleControllerModel(false);
            }

            Debug.Log("Grabbed");

            startWorld = world.transform.position;
            startPos   = trackedController.transform.position;
        }
    }