Как задать изменение значения для игрового джойстика по экспоненте?
Есть джойстик с диапазоном значений -1.500...1.500 с точкой 0 в центре
есть некая переменная a, которая наращивается во время движения стика джойстика
Хочется сделать это наращивание как при управлении педалью газа автомобиля, то есть слегка касаясь - скорость чуть выросла и "удерживается", а начинаешь топить в пол, скорость начинает расти как по эскпоненте и шаг изменения скорости меняется условно с +1 до + 10 (некой константы)
вот не могу сообразить, как это реализовать?
На входе есть только значение джойстика от -1.500 до 1.500
Александр, значения можно ремапить и есть некий экстремум, например увеличиваем от 0 до 10, соответственно, если падали сразу 1500, то и увеличиваем на +10
Не совсем понятно в чем затык - вы сами говорите "по экспоненте". Ну так используйте формулу экспоненты чтобы перевести отклонение джойстика в некую переменную a
Я бы попробовал составить две формулы.
1. Скорость изменения переменной в зависимости от текущих показаний джойстик.
2. Максимальное значение переменной в зависимости от текущих показаний джойтстка.
Ну, и по ним считал переменную.
Есть показания джойстика. Считаем скорость и максимальное значение. Прибавляет скорость к текущему значению переменной. Если результат меньше максимума - это новое значение переменной, если больше - приравнивается переменную к максимуму.
В отрицательном направлении аналогично.
На первый взгляд, увеличение предыдущего значения на значение экспоненты положения джойстика подходит, но не понятно, как "красиво" сделать удержание скорости, если стих не двигается но при этом смещен относительно 0 и нажат (как в примере с педалью газа при слегка касании ее)
Кстати, экспонента не резковато будет? Может достаточно, если скорость изменения равна смещения джойтсика? Т. Е, если джойстик смущен на 10, то переменная растет на 10ед в сек, а если джойстик смещения на 100, то и переменная растет на 100ед в сек?