gmod-rs/crates/engine
Niko Marmeladkov ae36d3aea6
Some checks are pending
CI / checks (push) Waiting to run
Физган: трение отключается на удержании; найден баг шага физики (скорость /3)
Откачен костыль с телепортом: это было лечение симптома.

Что найдено замером (тест body_with_set_velocity_actually_moves, ignored):
тело с заданной скоростью 1200 за шаг едет только 400 — и это НЕ контакт:
воспроизводится без пола, с friction 0 (combine rule Min), gravity_scale 0,
damping 0.000, dt=1/60 до и после шага. Скорость 400 читается уже после
world.step(), то есть шаг физики гасит её ровно втрое. Это и есть причина
отставания пропа при любой пружине.

Плюс сделано по делу: на время удержания у тела выключается трение
(set_body_friction + combine rule Min), на отпускании возвращается 0.6 —
это убирает потерю скорости о пол.

Дальше: разобраться, почему шаг Rapier делит скорость на 3 (подозрение —
настройки integration_parameters/units в нашей обёртке), затем включить
assert в тесте.
2026-10-24 21:58:30 +03:00
..
src Физган: трение отключается на удержании; найден баг шага физики (скорость /3) 2026-10-24 21:58:30 +03:00
tests Вьюмодель: посадка по модели и встроенный weapon_pistol 2026-10-24 21:40:00 +03:00
Cargo.toml engine: физика на Rapier3D — пропы падают, сталкиваются и засыпают 2026-10-13 12:36:51 +03:00