private void SVRActionInput() { switch (vrPlayerGrapType) { case VRPlayerGrabSearchType.OverlapSphere: if (_interaction.GetStateDown(_trackedObjLeftHand.inputSource)) { Collider[] col = Physics.OverlapSphere(_leftHandAction.transform.position, 0.1f, InteractionObjectLayer); if (col.Length > 0) { _leftHandAction.HoldGrabObject(col[0].gameObject); } } if (_interaction.GetStateDown(_trackedObjRightHand.inputSource)) { Collider[] col = Physics.OverlapSphere(_rightHandAction.transform.position, 0.3f, InteractionObjectLayer); if (col.Length > 0) { _rightHandAction.HoldGrabObject(col[0].gameObject); } } break; case VRPlayerGrabSearchType.RayCast: if (_interaction.GetStateDown(_trackedObjLeftHand.inputSource)) { Ray handForwardRay = new Ray(_leftHandAction.transform.position, _leftHandAction.transform.forward); RaycastHit rayInfo; if (Physics.Raycast(handForwardRay, out rayInfo, 1f, InteractionObjectLayer)) { _leftHandAction.HoldGrabObject(rayInfo.collider.gameObject); } } if (_interaction.GetStateDown(_trackedObjRightHand.inputSource)) { Ray handForwardRay = new Ray(_rightHandAction.transform.position, _rightHandAction.transform.forward); RaycastHit rayInfo; if (Physics.Raycast(handForwardRay, out rayInfo, 1f, InteractionObjectLayer)) { _rightHandAction.HoldGrabObject(rayInfo.collider.gameObject); } } break; } if (_interaction.GetStateUp(_trackedObjLeftHand.inputSource)) { _leftHandAction.ReleaseGrabObject(); } if (_interaction.GetStateUp(_trackedObjRightHand.inputSource)) { _rightHandAction.ReleaseGrabObject(); } }