Найти тему
Stronghold of gamedev

Игры изнутри : колеса и физика транспорта

Оглавление

Бесчисленное количество уважающих себя игр, в которых можно поездить на машинке, в наше время имеют внятную и около реалистичную модель поведения.

За занавесом технологических магий, вопреки предположениям, обычно скрывается скрипт - другой и десятки математических расчетов. В этой статье я покажу парочку демо-примеров с реалистичной подвеской автомобиля, обрисую как это всё работает и сделаю мини-анонс.

Инструменты и демонстрация

Как вообщем и обычно, для демонстрации буду пользоваться движком Unity, в котором существует реализованная механика Wheel Collider.
Вопреки вашим предположениям, коллайдером это назвать сложно, просто круг указанного радиуса, который определяет столкновения.

Коллайдер без колеса
Коллайдер без колеса

По найденой мною информации, все это чудо работает на наработках NVIDIA и имеет крайне узкий профиль использования и вы увидите почему.

-3

А вот что потяжелее :

-4

Если вы читали прошлую статью из серии про коллайдеры, то сейчас в вас вероятно зарождаются логические объяснения происходящему, однако позвольте вас развернуть.

Абстрактный невидимый коллайдер -кружок, который вполне справляется без непосредственно колес, использующий какую-то особую физику, позволяет говновозам так ловко отрабатывать неровности.

Кручение колес, их повороты и отрабатывание неровностей если вы еще не поняли - всего лишь иллюзия. Несмотря на вырывающуюся из меня субъективщину и недовольство такими костылями, механики описаны совершенно точно и настал момент объяснений.

Конкретика и созидание

Сотворить сие чудо можно из чего угодно :

Совершенство
Совершенство

Как я уже сказал - на колесах нет никаких коллайдеров (по крайней мере тех, что будут физически-осязаемыми) и физики, она противопоказана вообще.

Гоночная табуретка вопреки этому вполне рабочая :

-6

На самом старте сцены инициализируется визуализация колесика, совершенно бесполезная для движка, но такая важная для игрока :

-7

Очередная абстракция, представляющая гоночный аппарат, содержит на себе лишь физику с указанной массой и воздушным сопротивлением, гробик на себе держит лишь коллайдер, которому лучше не пересекаться с колесами, его коллизия будет отрабатывать столкновения из вне.

-8

Такие настройки содержит скрипт колесика - масса, радиус, скорость обработки, ход подвески и центр масс.
Интересны здесь непосредственно настройки амортизации и трения :
можно настроить "мощь" отскакивания, время, за которое подвеска вернется в следующий пункт - позиция, к которой нужно стремится.

Все расчеты амортизации выполняются по средствам луча, который стреляет вниз. Не вниз, который соответствует восприятию гравитации, а вниз от центра колеса.

-9

Любые вращения задаются через внутренний метод как и торможение.
То кручение придается, то наоборот останавливается.
Это позволяет играться с сцеплением, которое реализовано опять абстрактно от имеющихся методов
Unity с физическими материалами.

поБеда

Обожаю экстремальный велоспорт во многих его проявлениях и возжелал сотворить игру на мобильные платформы. Единственная игра, в которой по-моему мнению достойная физика велосипеда - Bike Mayhem, однако и её геймплейные составляющие могут быть неплохо улучшены, тем более человеком, обремененным этим хобби.

Так вот не представляя во что я наступил, уже возрадовался, но не надолго : амортизацию искоренить не удастся, а при попытках это сделать будут ужасные дерганья колес, так же верхняя часть колеса буквально пустая :

-10

Не совсем то, что я себе представлял. Как можно заметить это - BMX, у него жесткая вилка, нет пружинки сзади, а колеса и вовсе качают до 4-5 атмосфер, что можно сравнить с камнем, поэтому никакой колхоз мне не помогал избавиться от амортизации.

Так же велосипед может перевернуться, в случае неудачного трюка например, а как верхняя часть колеса будет реагировать на столкновения?

-11
-12

Увы, никак.

-13

Несмотря на кривейшую реализацию такой тривиальной вещи, от идеи я не отказался.

В скором времени я завершу создание совершенной механики работы колес, четко работающей хоть на телеге и вероятно опишу некоторые моменты создания игры про велосипеды. До скорого!

Соседние статьи с канала :
Игры изнутри : циклы обработки данных и падение производительности
Игры изнутри : коллайдеры и столкновения
Как работает стрельба в играх