virtual protected void CheckIK(bool pickingUp, VRInteractor hand) { if (hand == null || hand.ikTarget == null) { return; } if (pickingUp) { Transform handIKAnchor = hand.vrInput.LeftHand ? leftHandIKAnchor : rightHandIKAnchor; if (handIKAnchor != null) { hand.SetIKTarget(handIKAnchor); } if ((hand.vrInput.LeftHand && leftHandIKPoseName != "") || (!hand.vrInput.LeftHand && rightHandIkPoseName != "")) { // Method is in HandPoseController.cs, found in the FinalIK integrations folder (make sure to open the FinalIK package in VRInteraction first). hand.GetVRRigRoot.BroadcastMessage(hand.vrInput.LeftHand ? "ApplyPoseLeftHand" : "ApplyPoseRightHand", hand.vrInput.LeftHand ? leftHandIKPoseName : rightHandIkPoseName, SendMessageOptions.DontRequireReceiver); } } else { hand.SetIKTarget(null); if ((hand.vrInput.LeftHand && leftHandIKPoseName != "") || (!hand.vrInput.LeftHand && rightHandIkPoseName != "")) { // Method is in HandPoseController.cs, found in the FinalIK integrations folder (make sure to open the FinalIK package in VRInteraction first). hand.GetVRRigRoot.BroadcastMessage("ClearPose", hand.vrInput.LeftHand, SendMessageOptions.DontRequireReceiver); } } }
virtual protected void CheckIK(bool pickingUp, VRInteractor hand) { if (hand == null || hand.ikTarget == null) { return; } if (pickingUp) { Transform handIKAnchor = hand.vrInput.LeftHand ? leftHandIKAnchor : rightHandIKAnchor; if (handIKAnchor != null) { hand.SetIKTarget(handIKAnchor); } } else { hand.SetIKTarget(null); } }