Hola! Cómo están?
Tengo un pequeño problema con un script que hice.
Lo único que hace es limitar el ángulo de rotación de la cámara en Y, pero única y exclusivamente al saltar.
Funciona genial, pero he notado que al pasar por el 'grado' 0 (ó -0), hace un giro muy extraño y repentino.
He exagerado un poco el salto del player para hacer un corto de ejemplo.
El cubo verde representa la rotación 0:
https://i.gyazo.com/06151e526fa4f9e3e0ecc557eb60abae.mp4
Nótese como el primer salto es correcto, funciona bien. Pero el segundo... al pasar por el 0 (cubo verde) hace un giro extraño al momento de volver a saltar.
Lo que acaban de ver en ese vídeo también ocurre si giro en la dirección contraria a las agujas del reloj.
El mencionado script está colocado en el player y así es como se lee:
Ese es todo el código que hice al respecto para lograr esa funcionalidad, así que me imagino que es él quien está mal.
A mi corto modo de ver, es como que al estar en números positivos y al pasar a negativos (y viceversa), es cuando se vuelve loco.
No sé cómo podría solucionarlo y por eso hago este post
Muchas gracias por su amabilidad.
Tengo un pequeño problema con un script que hice.
Lo único que hace es limitar el ángulo de rotación de la cámara en Y, pero única y exclusivamente al saltar.
Funciona genial, pero he notado que al pasar por el 'grado' 0 (ó -0), hace un giro muy extraño y repentino.
He exagerado un poco el salto del player para hacer un corto de ejemplo.
El cubo verde representa la rotación 0:
https://i.gyazo.com/06151e526fa4f9e3e0ecc557eb60abae.mp4
Nótese como el primer salto es correcto, funciona bien. Pero el segundo... al pasar por el 0 (cubo verde) hace un giro extraño al momento de volver a saltar.
Lo que acaban de ver en ese vídeo también ocurre si giro en la dirección contraria a las agujas del reloj.
El mencionado script está colocado en el player y así es como se lee:
if (!controller.isGrounded)
{
cameraController.Yaw = Mathf.Clamp(cameraController.Yaw, transform.localEulerAngles.y - 20, transform.localEulerAngles.y + 20);
}
Ese es todo el código que hice al respecto para lograr esa funcionalidad, así que me imagino que es él quien está mal.
A mi corto modo de ver, es como que al estar en números positivos y al pasar a negativos (y viceversa), es cuando se vuelve loco.
No sé cómo podría solucionarlo y por eso hago este post
Muchas gracias por su amabilidad.




