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

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

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

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

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

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

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

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

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



Новости
Авторы Max Payne раскритиковали крупные игры
Глава по коммуникации студии Remedy Томас Пуха заявил, что в нынешних реалиях игрового рынка его команде пришлось реорганизовать производство.
Ubisoft выпустит эксклюзивную фигурку Father’s Calling
Компания Ubisoft сообщила, что коллекционная фигурка Father’s Calling, представляющая собой лидера организации «Врата Эдема» из Far Cry 5, поступит в продажу 22 марта 2018 года по цене 3999 рублей.