Два дня доводил ВАЗ-2101: подвеска, коробка, салон и будущие поломки
Последние два дня почти полностью занимался машиной. До этого она уже умела ездить, переключать передачи и включать свет, но по ощущениям оставалась скорее движущейся моделью, чем автомобилем.
Машина слишком медленно разгонялась, теряла скорость от небольшого движения рулём, сильно кренилась и раскачивалась. Подвеска работала странно: кузов иногда опускался до коллайдера, из-за чего появлялся звук удара даже на ровной дороге. Нагрузка между колёсами почти не чувствовалась, а сама машина напоминала неваляшку.
За эти два дня я в основном переделывал физику и внутреннее устройство автомобиля.
Теперь у каждого колеса своя стойка с отдельным расчётом нагрузки. Передняя и задняя оси получили разную жёсткость пружин и демпфирование. Добавил стабилизаторы поперечной устойчивости, нормальные отбойники подвески и перенастроил центр тяжести.
В повороте нагрузка действительно переходит с одной стороны машины на другую. При этом все четыре колеса продолжают держать дорогу, а кузов не заваливается набок. В тестовом умеренном повороте максимальный крен получился около двух градусов.
Заодно уменьшил чрезмерное сопротивление качению. Раньше машина тяжело набирала скорость, а на третьей и четвёртой передачах почти переставала разгоняться. Сейчас короткая демонстрация доходит примерно до 68 км/ч, а в полном тестовом заезде машина набрала 119,6 км/ч.
С рулением ещё предстоит работать на разных скоростях и покрытиях, но небольшой поворот больше не отнимает половину скорости.
Отдельно переделал двигатель и коробку передач.
Сейчас двигатель можно запустить только на нейтральной передаче. Если остановиться на четвёртой и не перейти на пониженную, мотор заглохнет. Первая, вторая, третья и четвёртая передачи имеют собственные передаточные числа и ограничения скорости.
Сцепление пока автоматизировано. Это временное решение: игрок сам переключает передачи, а система помогает тронуться без отдельной педали на клавиатуре.
В салоне теперь двигаются органы управления:
руль поворачивается вместе с передними колёсами (пока странная ось вращения, никак победить не могу вращение овалом);
рычаг коробки занимает отдельное положение для каждой передачи;
ручник поднимается и опускается;
двигаются педали;
рычаг поворотников отклоняется в нужную сторону;
кнопки ближнего и дальнего света нажимаются и подсвечиваются;
приборы показывают скорость, обороты, топливо и температуру.
Для демонстрации коробки и ручника сделал отдельный крупный ракурс на центральный тоннель. В обычной игре камера остаётся на месте водителя.
Также настроил внешний свет.
У машины работают ближний и дальний свет, стоп-сигналы, задний ход, отдельные поворотники и аварийная сигнализация. Фары получили видимые светящиеся элементы — теперь свет не появляется из пустоты перед машиной.
Пока источники света выведены за кузов для разработки.
Самая большая часть работы пока почти не видна на записи. Внутри машины появилась система технического состояния.
Сейчас отдельно рассчитываются:
количество и качество бензина;
состояние топливного насоса и фильтра;
уровень антифриза;
радиатор, термостат и водяная помпа;
температура двигателя и перегрев;
уровень, давление и ресурс масла;
компрессия двигателя;
свечи и воздушный фильтр;
прокладка головки блока;
цепь ГРМ — у ВАЗ-2101 именно цепь;
аккумулятор, генератор, ремень и проводка;
сцепление, синхронизаторы, коробка и дифференциал;
тормозная жидкость, магистрали и колодки;
состояние каждой стойки, шины и геометрии колёс.
Например, вот реальные стартовые данные конкретной машины:
Топливо: 14,0 из 39 лКачество топлива: 99%
Топливный насос: 100%
Загрязнение фильтра: 4%
Антифриз: 8,7 из 9,6 л
Температура: 20°C
Радиатор: 100%
Термостат: 100%
Водяная помпа: 100%
Масло: 3,35 из 3,75 л
Качество масла: 88%
Масляный насос: 100%
Компрессия: 99%
Цепь ГРМ: 96%
Свечи: 96%
Воздушный фильтр: загрязнён на 5%
Заряд аккумулятора: 78%
Состояние АКБ: 92%
Генератор: 100%
Ремень генератора: 92%
Проводка: 96%
Сцепление: 100%
Коробка передач: 100%
Синхронизаторы: 100%
Дифференциал: 100%
Тормозная жидкость: 0,42 из 0,45 л
Качество жидкости: 92%
Тормозные колодки: 88%
Передние шины: 92%
Задние шины: 88%
Все четыре стойки: 100%
Поломки не выпадают случайно. Они накапливаются от эксплуатации и действий игрока.
Если долго крутить двигатель на первой передаче в отсечке, коробка будет постепенно изнашиваться. Плохое масло уменьшит давление и ускорит износ двигателя. Разбитый радиатор начнёт терять антифриз, после чего мотор перегреется. При обрыве ремня перестанут нормально работать генератор и помпа. Утечка тормозной жидкости постепенно оставит машину без тормозов.
Удары тоже учитывают направление. Переднее столкновение повреждает радиатор, двигатель и переднюю подвеску. Боковой удар портит стойки и геометрию соответствующих колёс. Удар снизу может привести к утечке масла, а повреждение задней части — к проблемам с топливной системой.
Все эти состояния уже сохраняются вместе с машиной, но пока нигде нормально не показываются игроку.
Что ещё не готово:
полноценная диагностика неисправностей;
ремонт с инструментами и запчастями;
дым, пар и визуальные утечки;
посторонние звуки двигателя и подвески;
деформация кузова;
проколы и повреждения колёс;
разное сцепление на асфальте, грунте и мокрой дороге;
окончательная настройка заноса;
нормальная анимация рук водителя.
Сама автомобильная система сейчас готова примерно на 90 процентов, но до полноценной игровой механики ремонта ещё далеко.
Следующий этап — сделать так, чтобы игрок замечал неисправности без списка процентов: по контрольным лампам, звукам, дыму, поведению машины и осмотру под капотом. После этого займусь инструментами, заменой деталей и самим процессом ремонта.
Пока буду рад замечаниям именно по поведению машины: кренам, разгону, переключениям и работе салона.
P.S. Сорри за качество GIF/












