private void AttemptGrabObject()
    {
        if (IsValidGrab())
        {
            if (interactTouch.GetTouchedObject().GetComponent <VRTK_InteractableObject>().AttachIsTrackObject())
            {
                GrabTrackedObject();
            }
            else
            {
                GrabInteractedObject();
            }

            if (!IsObjectHoldOnGrab(interactTouch.GetTouchedObject()))
            {
                grabEnabledState++;
            }
        }
        else
        {
            grabPrecognitionTimer = grabPrecognition;
            if (createRigidBodyWhenNotTouching)
            {
                interactTouch.ToggleControllerRigidBody(true);
            }
        }
    }
示例#2
0
 protected override void CreateNonTouchingRigidbody()
 {
     if (createRigidBodyWhenNotTouching && usedObject == null && interactTongTouch != null)
     {
         if (!interactTongTouch.IsRigidBodyForcedActive() && interactTongTouch.IsRigidBodyActive() != usePressed)
         {
             interactTongTouch.ToggleControllerRigidBody(usePressed);
         }
     }
 }