Ноклип — по наблюдению в игре: инерции в полёте нет, скорость пишется прямо
по вводу и отпускание клавиш останавливает сразу. Разгон выглядел «лунной
гравитацией». Импульс при этом переживает отпускание: пока ввода нет, скорость
не трогается — раньше `velocity = wish * speed` писался каждый кадр и затирал
собственную скорость, поэтому прыжок по Z не мог сохраниться в принципе.
Пробел даёт порцию импульса по фронту нажатия, порции складываются: одно
нажатие поднимает на 279 юнитов, два — на 567. Выход из ноклипа переносит
импульс по всем осям в обе стороны.
«Марсианские прыжки»: дуга снята целиком и совпадает с расчётом для GMod —
0,45 с до вершины, 0,90 с полёта, 60,8 юнита высоты. Значит ощущение рождается
обрывом прыжка о невидимые стены.
Проверка касания переписана: грань должна доставать до кирпича, и проверяется
весь габарит тела в момент касания, а не одна точка. С проверкой точки игрок
переставал перебирать уступы уже высотой 4 юнита (замерено); с габаритом
подшаг работает — 18 перебирается, 19 нет.
Новый тест обходит gm_construct сеткой из 49 точек восемью направлениями:
117 600 кадров, невидимых стен 0 (было 2 на прямом ходе).
Заодно исправлена ошибка в самой диагностике: зазор между габаритами считался
без клампа по нулю, и на пересекающейся оси выходило отрицательное число,
из-за чего длина вектора давала «912 юнитов зазора» там, где габариты
соприкасаются. На этом артефакте рапортовалось 35 невидимых стен — все были
выдумкой измерения.
«Дырки в крыше, сквозь которые нельзя упасть» НЕ воспроизведены и не
«исправлены»: твёрдость кирпичей, покрытие displacement, отбор по содержимому
и обход карчи — всё чисто. Нужны координаты конкретной дырки; без них остаётся
только гадать.