Vector3 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector2 lookDir = pos - transform.position;
float angle = Mathf.Atan2(pos.y, pos.x) * Mathf.Rad2Deg;
rb.rotation = angle;
по идее там должно быть что-то в духе
Vector3 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
var lookDir = pos - transform.position;
lookDir.z = 0;
var angle = Vector3.Angle(lookDir.normalized, transform.up);
это если угол нужен.
но тебе, я так понял надо через физику крутить?
если НЕ через физику то достаточно будет
Vector3 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
pos.z = transform.position.z;
var lookDir = pos - transform.position;
transform.right = lookDir.normalized;
или
transform.up = lookDir.normalized;
смотря как повернут спрайт изначально