Quiero hacer una cámara en primera persona que gire con el mouse.
Miré la página API de scripts de Input.GetAxis y encontré un código de muestra, que he incluido al final de mi publicación. Al probarlo, me di cuenta de que, aunque tiene la misma funcionalidad básica que esperaba que tuviera, no mantiene la cámara paralela al plano xz, especialmente al mover el mouse en círculos. Después de un tiempo, la cámara estaría en un ángulo extraño, ¡y el jugador estaría completamente descombobulado!
¿Existe una solución rápida para este código que restringiría el movimiento de la cámara de alguna manera, o hay una mejor manera de rotar la cámara?
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
public float horizontalSpeed = 2.0F;
public float verticalSpeed = 2.0F;
void Update() {
float h = horizontalSpeed * Input.GetAxis("Mouse X");
float v = verticalSpeed * Input.GetAxis("Mouse Y");
transform.Rotate(v, h, 0);
}
}