Конгер Д.
Физика для разработчиков компьютерных игр
стр. 416

Здесь Fs - это сила трения качения, а - коэффициент трения качения, а N - нормальная сила. В случае автомобиля нормальная сила - это сила тяжести F = mg. Поэтому мы можем записать:

Это уже формула, которую можно использовать в программе. Если ваша игра моделирует движение автомобиля, то можно воспользоваться методами для опроса клавиатуры и джойстика, описанными в главе 14 «Готовимся создавать игры». Если пользователь нажимает стрелку вверх или наклоняет вперед джойстик, программа увеличивает усилие на ведущих колесах. Если это усилие превышает /ismg, колесо должно начать проскальзывать. При этом трение между шиной и землей должно вычисляться по формуле:

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

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

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

Предупреждение

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

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



Новости
Исследование: Треть населения Земли играют в видеоигры
Специалисты компании NewZoo провели исследование и пришли к выводу, что треть населения Земли или 2,3 млрд человек играют в видеоигры.
Антивирусы и облачные сервисы портят сохранения Dark Souls Remastered
Вчера комьюнити-менеджер Bandai Namco под ником Izmar подтвердил проблему в Steam, посоветовав ограничить доступ антивирусов и других программ вроде облачных сервисов Google и Amazon к файлам ремастера Dark Souls.