Ребят Делаю спидометр! Универсальный вроде сначала все хорошо работает ПЛАВНО (прям как надо), 20-40 80, но когда переваливает за 100км Начинается бешенно крутится как ненормальный. Вот код. В чем причина?
Код
public float value = 0; // текущая скорость
public float maxValue = 130; // масксимальная шкала прибора
public float minValueArrowAngle = 192.2; //на каком градусе стрелка находится когда на нуле
public float maxValueArrowAngle = 449.1; // на каком градусе находится когда стрелка на максимальном показатели (maxValue)
public float totalValueArrowAngle; //расчетный показатель на сколько повернуть градусов нужно если value = 1
private void Start()
{
totalValueArrowAngle = (maxValueArrowAngle - minValueArrowAngle) / maxValue; // расчитываем
}
void Update() // вот метод работает как надо только до тех пор пока value не перевалит за 100 единиц
{
transform.transform.localEulerAngles = new Vector3
(0, 180, Mathf.Lerp(this.transform.localEulerAngles.z, (value * totalValueArrowAngle + minValueArrowAngle), 3 * Time.deltaTime));
}
Почему не получается и как ошибку исправить?