En primera persona, la cámara suele estar dentro o cerca de la cabeza del jugador.

Jerarquía típica

Player
└── Camera

La rotación horizontal suele aplicarse al jugador.

La rotación vertical se aplica a la cámara.


Variables

[SerializeField]
private Transform jugador;

[SerializeField]
private float sensibilidad = 0.1f;

private float rotacionX;

Leer mouse

Con Input System:

Vector2 look =
    Mouse.current.delta.ReadValue();

Rotación vertical

rotacionX -= look.y * sensibilidad;

rotacionX = Mathf.Clamp(
    rotacionX,
    -90f,
    90f
);

transform.localRotation =
    Quaternion.Euler(
        rotacionX,
        0f,
        0f
    );

Rotación horizontal

jugador.Rotate(
    Vector3.up *
    look.x *
    sensibilidad
);

Cursor