示例#1
0
 void OnTriggerStay(Collider collider)
 {
     if (touchedObject == null && IsObjectInteractable(collider.gameObject))
     {
         touchedObject = collider.gameObject;
         OnControllerTouchInteractableObject(SetControllerInteractEvent(touchedObject));
         touchedObject.GetComponent <SteamVR_InteractableObject>().ToggleHighlight(true, globalTouchHighlightColor);
         if (trackedController.IsControllerVisible() && hideControllerOnTouch)
         {
             trackedController.ToggleControllerModel(false);
         }
     }
 }
示例#2
0
 void UseInteractedObject()
 {
     if (usingObject == null && IsObjectUsable(interactTouch.GetTouchedObject()))
     {
         usingObject = interactTouch.GetTouchedObject();
         OnControllerUseInteractableObject(interactTouch.SetControllerInteractEvent(usingObject));
         usingObject.GetComponent <SteamVR_InteractableObject>().StartUsing(this.gameObject);
         if (hideControllerOnUse)
         {
             trackedController.ToggleControllerModel(false);
         }
     }
 }
示例#3
0
    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)
            {
                trackedController.ToggleControllerModel(false);
            }

            SnapObjectToGrabToController(grabbedObject);
        }
    }