public virtual void OnReleased(HandGrip gripper, Vector3 velocity) { Gripped = false; transform.SetParent(null); Rigidbody.isKinematic = false; if (Time.timeScale > 0) { Rigidbody.velocity = velocity * _throwVelocityModifier; } }
public virtual void OnGripped(HandGrip gripper, Vector3 velocity) { transform.SetParent(gripper.transform); Rigidbody.isKinematic = true; Gripped = true; if (_snappingTransfrom != null) { var offset = _snappingTransfrom.localPosition; transform.position = gripper.transform.position; transform.localPosition += offset; //gripper.transform.rotation * offset; transform.rotation = gripper.transform.rotation * _snappingTransfrom.rotation; // Fix left hand snapping if (gripper.IsLeftHand) { var localPos = transform.localPosition; localPos.x = -localPos.x; transform.localPosition = localPos; } } }
public override void OnReleased(HandGrip gripper, Vector3 velocity) { // Don't do anything }
public override void OnGripped(HandGrip gripper, Vector3 velocity) { Activated?.Invoke(this); }