Тема: Вопросы
Показать сообщение отдельно
Старый 11.11.2019, 17:01   #7523
NB79
Местный
 
Регистрация: 12.07.2015
Сообщений: 417
По умолчанию

Так они где-то в коде должны присутствовать, в том месте, где эта процедура вызывается. Там и надо смотреть. Повторю, если это именно та самая, нужная процедура.

И ещё раз для понимания. Все цифры будут условными, ибо точных значений у меня нет. Итак.

Допустим, что наш таймер щёлкает 100 раз в секунду, т.е. каждые 10 мс. Мы хотим, чтоб наш меш сдвигался на определённое расстояние за одну секунду. Соответственно, всё, что нам надо, это разделить расстояние на сто и на каждый тик таймера добавлять нужную величину и устанавливать меш на вновь полученную позицию. По крайней мере по процедуре получается так, в ней, в самом начале, есть некий resetYPRmodifier, который, как я понимаю, устанавливает параметры для меша в некую исходную позицию. Вот таким образом мы можем плавный сдвиг/поворот получить.

Если нужен не плавный, то нужно действовать по-другому. Например, нам надо, чтоб две трети расстояния меш проходил с одной скорость., а последнюю треть с другой, медленнее. Или не треть, а пятую часть, вот как при закрытии фонаря, доводка в конце движения медленнее происходит. Тут надо уже иначе действовать. Логика та же, реализация чуть другая. 4/5 расстояния мы будем проходить за 4/5 секунды. А оставшуюся дистанцию за 2/5. Рассчитаем нужные коэффициенты, занесём их в табличку и на каждый тик таймера будем брать новое значение из таблички по индексу, который будет номер тика от начала операции сдвига.

В принципе, всё это можно оформить в виде некоего виртуального метода (ХЗ есть это в Яве, или нет) и перекрывая в нужном классе организовывать нужные реализации, табличные методы, либо расчеты по произвольным нужным формулам. Решение получится прозрачным и простым и скорее всего в Старичке так и сделано, это не я придумал, а обычная практика.

В общем, надо где-то рядом с вызовом метода сдвигающего фонарь искать соответствующие значения сдвига.
NB79 вне форума   Ответить с цитированием