private void LookOnCursor() { Plane player = new Plane(Vector3.up, transform.position); Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); float hit = 0; if (player.Raycast(ray, out hit)) { Vector3 targetPoint = ray.GetPoint(hit); Quaternion targetRotation = Quaternion.LookRotation(targetPoint - transform.position); transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, _rotationSpeed * Time.deltaTime); if (Mathf.Abs(HorizonalMouse) > 0 || Mathf.Abs(VerticalMouse) > 0) { ChangeCursor?.Invoke(2f); } else { ChangeCursor?.Invoke(1f); } } }