Перейдём ко второму пункту – стрейфам, выполняемым в полёте после отрыва от поверхности земли.
Новичкам, чтоб понять, как выполнять стрейфы в полёте, можно прибегнуть к следующему способу. Выбирается карта, где присутствует довольно много свободного места. Выставляется нулевая гравитация sv_gravity “0”. Не используя команды +forward начните комбинировать правые и левые стрейфы с одновременным поворотом мыши как указано в начале статьи. Если вы смогли развить скорость до 1000 юнитов в секунду(исп. плагин ljstats), считайте, что представление о методике стрейфа в полёте вы уже получили.
Теперь опять вернёмся к опытам. По итогам нескольких опытов использования квара cl_yawspeed при нулевой гравитации выведена следущая закономерность. Если мы увеличиваем скорость поворота игрока, то процесс набирания скорости происходит значительно быстрее, нежели с меньшей угловой скоростью, но есть одно НО. Чем выше темпы набора скорости, нем ниже максимальная развиваемая скорость при данных условиях. Соответственно, если мы используем низкую скорость поворота игрока, можем достигнуть гораздо большего ускорения, но время разгона может очень сильно затянуться.
По итогам исследований выведено несколько примерных сопоставлений «угловая скорость|максимальная скорость»: Значение yawspeed | Максимальная скорость
300 | 490
250 | 570
200 | 720
150 | 950
118 | тут золотая середина, когда набираемое ускорение максимально превышает трение земли. (максимальная скорость больше тысячи)
В идеале при значениях yawspeed < 10 получится огроомный радиус движения, и очень постепенно можно развить максимальную скорость в КСе. Заметим, что на практике максимальная скорость которую вы можете развить как при стрейфах, так и при падении – это 2000 юнитов в секунду. Обусловлено это значением квара sv_maxvelocity “2000”.
Теперь перейдём к теории нелинейности поворота. В данной области физика исследована не до конца, однако есть идеи подходов, которыми спешу поделиться, с надеждой, что кто-то уйдёт дальше меня.
По итогам предыдущих абзацев, имеем несколько вариантов угловой скорости вращения. Для каждой угловой скорости есть предел ускорения. Чем выше скорость, тем ниже её максимальное ускорение. Точно можно сказать, с большой скоростью поворота мыши при медленном движении игрока, ускорение набирается быстрее, однако при таком ускорении максимальная скорость невелика. При таком раскладе можно предположить о реализации лонгджампа подходом «коробки передач».
Первая передача - максимальное ускорение, предел максимальной скорости низкий.
Вторая, ускорение ниже, максимум скорости возрос.
Третья, Четвёртая, Пятая аналогично, пока не дойдём до максимальной. Максимальная передача соответствует максимуму развиваемой скорости при минимальной угловой скорости. Но, как уже сказано, максимальная скорость достигается при yawspeed 117.8. Однако же это будет самым длинным по времени разбегом.
Используя подход коробки передач, можно воспользоваться принципом, используемым в драг-рейсинге. Т.е. передачу доводим до предела, который она может развить, и переключаем на следущую, при этом следущая передача уже находится не на начальном этапе, а на отрезке резонации, что облегчает набор скорости на этой и последущих передачах.
В итоге, увеличивая количество передач, мы всё чётче выполняем интерполяцию идеального графика движения мыши для лонгджампа.
Единственное НО, это всё описано для кругового бега по окружности, радиус которой может постепенно увеличиваться с возрастанием скорости. Однако, вывести всё для переходного процесса со стрейфами труда не составит.
Выведение зависимости ускорения от угловой скорости поворота выходят за пределы написания этой статьи, тем более руками выполнить это всё гораздо сложнее, но теоретически возможно.