Buenos días, llevo un tiempo atascado con este problema que no se solucionar. Cuando pruebo mi proyecto en otros PCs y estos son menos potentes, al bajar los fps hay ciertos cálculos realizados con Lerp que dejan de funcionar bien, en concreto cálculos de Quaternion.Lerp.
¿Qué puedo estar haciendo mal?.
Un saludo y gracias.
Buenas tardes, ya he solucionado el problema. :-D
Los errores de calculo no se producían por quaternion.lerp, de tanto probar cosas estaba hecho un lio. El problema lo causaba un lerp que metí en transform.rotate.
Problema:
[CODE]Rotacion = mathf.lerp (Rotacion, input.getaxis ("Horizontal"), 10 * time.deltatime);
transform.rotate (0, Rotacion, 0);[/CODE]
Si usamos esas dos líneas para calcular la rotación en el eje Y por medio de una interpolación, según baje o suba el framerate la rotación se hará más lenta o más rápida, a pesar de estar calculando previamente con un lerp que va multiplicado por time.deltatime.
Solución:
[CODE]Rotacion = mathf.lerp (Rotacion, input.getaxis ("Horizontal"), 10 * time.deltatime);
transform.rotate (0, Rotacion * 10 * time.deltatime, 0);[/CODE]
De este modo la rotación siempre será a la misma velocidad sin importar el framerate.
Un saludo.
Gracias por compartir la solución amigo, un saludo.