x = x * Math.pow(0.9, deltaTime*30)
Редактировать
Для вашего нового обновления:
x = (x-target) * Math.pow(1-FACTOR, deltaTime*30) + target;
Чтобы показать, как я туда попал:
Пусть x0 будет начальным значением, а xn будет значением через n / 30 секунд. Также пусть T = цель, F = фактор. Тогда:
x1 = x0 + (T-x0)F = (1-F)x0 + TF
x2 = (1-F)x1 + TF = (1-F)^2 * x0 + (1-F)TF + TF
Продолжая с x3, x4, ... покажет:
xn = (1-F)^n * x0 + TF * (1 + (1-F) + (1-F)^2 + ... + (1-F)^(n-1))
Теперь подстановка формулы для суммы геометрической последовательности даст результат выше. Это действительно только подтверждает результат для целого числа n
, но оно должно работать для всех значений.