Огромная проблема задача стала предо мной..
Мне нужно знать функцию (геометрическое положение точек на графике) ускорения игрока для последующей симуляции его движения..
Удалось мне измерять этот график, точность которого под сомнением (пару ошибочек видны невооруж. глазом).
(как мерял: поставил физбокс, к нему подключил point_velicitycensor, от него аутпут на logic_compare: Velocity -> Set Value Compare, в консоль пишем developer 2 и получаем в консоль все данные скорости в виде аутпутов).
Программеры, ау, есть кто в живых? Маньяк куда-то пропал, не знаю к кому обратится. Хотя что Breever придет на помощь..
Нужно как-то узнать с исходного кода за сколько сек игрок ускоряется до макс. скорости (175 u\s) и за сколько останавливается. . точнее не эти цифры а именно "функцию".. она теоретически должна быть параболической..
Кто поможет..?
Или кто мб поможет замерять это дело как-то..
Ну, из твоего графика разгона я бы аппроксимировал прямую...
А первый похож на лаг велосити (четыре раза по три точки со смещением... Если учесть что скорость изменяется скачками, вполне может быть просто две прямые... Типа занос и равномерное торможение)... Но трудно сказать... Где все точки между второй и третьей?
Начнем с того что это Portal 2. Там учета движения по поверхности нету. (грубо говоря)
>>А первый похож на лаг велосити
Да, это так.. Не знаю, лаг какой-то..
Не важно, мне нужна лишь эта экспоненциальная функция..
Разгон игрока: за 0.2 сек
Остановка: 0.6 сек
Нужна лишь линия, чтобы я знал какая скорость у игрока при остановке.. скажем в 0.4 t. (к примеру)
> Там учета движения по поверхности нету.
Хм. Ну ладно, допустим нету. Допустим что и поверхность горизонтальная, так что игнорим гравитацию. Но всё равно неизвестно по какому закону движется игрок..
v(t) = Vнач - a*t, где a - собственно, торможение игрока, если бы оно было константой. Из твоего графика непонятно, константа это или нет, так что хз.. Если всё же константа, то получаем линейную функцию, наклон только подобрать надо)
Ну хорошо, у меня появилась еще одна мысль как адекватно замерять скорость.. point_velicitycensor более менее адекватно измеряет скорость.. подключу его к разным энтитям.. (еще не понял что буду делать, но буду действовать методом тыка пока не получу адекватные данные..)
Даже после того, как я посмотрел на CGameMovement::Friction в gamemovement.cpp, я толком не понял, что она делает.
Если хочется большой точности, то можешь код из этой функции приспособить для дискретного вычисления (в цикле там или рекурсивно), но это чур без меня. =)