En primera persona, la cámara suele estar dentro o cerca de la cabeza del jugador.
Player
└── Camera
La rotación horizontal suele aplicarse al jugador.
La rotación vertical se aplica a la cámara.
[SerializeField]
private Transform jugador;
[SerializeField]
private float sensibilidad = 0.1f;
private float rotacionX;
Con Input System:
Vector2 look =
Mouse.current.delta.ReadValue();
rotacionX -= look.y * sensibilidad;
rotacionX = Mathf.Clamp(
rotacionX,
-90f,
90f
);
transform.localRotation =
Quaternion.Euler(
rotacionX,
0f,
0f
);
jugador.Rotate(
Vector3.up *
look.x *
sensibilidad
);