На стыке реализма и веселья: как работает модель передвижения автомобиля в Uncharted 4

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

В Uncharted 4 впервые в серии появилась возможность управлять внедорожником. В Naughty Dog хотели правильно вписать новую механику в игру — чтобы передвижение на транспорте работало реалистично, но не настолько, чтобы игрок терял удовольствие от геймплея при возникновении трудностей.

Программист Naughty Dog Эдуард Перейра на конференции GDC 2017 рассказал, как студия справлялась с этой задачей. Мы выбрали главное из выступления.

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

  • езда приносит удовольствие как можно большей части игроков;
  • присутствует элемент реализма, чтобы игрок чувствовал себя «приземлённым»;
  • механика вождения работает правильно вне зависимости от условий — будь то твёрдая поверхность или грязь.

В Naughty Dog определили, какие задачи им нужно было решить, чтобы воссоздать правильную симуляцию. Во-первых, шасси машины должно правильно распознавать коллизию с другими объектами и соответствующе реагировать на них. Во-вторых, разработчиком нужно было понять, как воссоздать поведение мотора. В-третьих, мотор должен правильно работать в связке с шасси, чтобы для колёс рассчитывалось нужное сцепление.

На стыке реализма и веселья: как работает модель передвижения автомобиля в Uncharted 4

Сначала разработчики прописали поведение подвески — её схематичное представление изображено ниже. Жёлтый круг — это точка соприкосновения, с которой считывается информация о поверхности. Прямая же показывает то, насколько сильно могут сжиматься пружины подвески для вертикального перемещения колеса.

На стыке реализма и веселья: как работает модель передвижения автомобиля в Uncharted 4

Однако из-за такого подхода машина не могла считывать поверхность правильно и достаточно быстро — порой колёса попросту застревали в препятствиях.

На стыке реализма и веселья: как работает модель передвижения автомобиля в Uncharted 4

Поэтому разработчики немного пересмотрели эту систему. Теперь на изменения реагировало всё колесо целиком, по окружности. Сразу несколько точек на колесе считывали поверхность, что позволило добиться нужного поведения подвески и правильной коллизии. Чтобы колесо не дрожало, когда под ним находится сразу несколько нестабильных объектов (например, досок), число точек соприкосновения ограничили до трёх.

На стыке реализма и веселья: как работает модель передвижения автомобиля в Uncharted 4

Но при этом возникла проблема — когда машина наезжала на препятствия, она теряла почти всю свою скорость. Это было связано с тем, что не все точки соприкосновения колеса были перпендикулярны подвеске.

Чтобы избежать этого, разработчики «обманули» физический движок, сделав так, что все препятствия колёса считывали как перпендикулярные себе. В этом случае Naughty Dog пришлось уйти от реализма, чтобы сохранить удовольствие от вождения.

В чём-то передвижение автомобиля пришлось ограничивать. Чтобы машина не могла заезжать на стены (прежде чем начать падать, она продолжала цепляться колёсами), дизайнеры ограничили угол её передвижения.

Без ограничения 
С ограничением

То же самое пришлось сделать и с силами, которые продолжали действовать на автомобиль в воздухе. Чтобы машина не переворачивалась при падении со склона, разработчикам пришлось добавить дополнительный вектор силы, который не давал транспорту упасть на крышу.

Без вектора и с вектором

Далее стояла задача правильно отобразить поведение мотора и крутящего момента. Чтобы управление оставалось относительно реалистичным и в то же время отзывчивым, в Naughty Dog воссоздали принцип дифференциала — механизма, который передаёт мощность вращения на колёса. Каждое колесо движется самостоятельно — например, если левое замедлится или остановится, то правое продолжит крутиться с независимой от левого мощностью.

Распределение крутящего момента по колёсам от двигатели
Распределение крутящего момента по колёсам от двигатели

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

Самое высокое сцепление (за исключением дорог) было у участков травы. Чуть ниже — на поверхностях с грязью. В лужах и воде сцепление практически отсутствовало. Вычислялась как сила трения поверхности, по которой едет машина, так и сила трения самих колёс.

Силы, влияющие на сцепление колеса. Слева — перпендикулярная сила, исходящая от поверхности при её контакте с колесом. Справа отображены разные коэффициенты трения колеса и поверхности
Силы, влияющие на сцепление колеса. Слева — перпендикулярная сила, исходящая от поверхности при её контакте с колесом. Справа отображены разные коэффициенты трения колеса и поверхности
Сила вращения колеса взаимодействует с силой трения
Сила вращения колеса взаимодействует с силой трения

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

Боковая сила определяет, насколько сильно машина будет пробуксовывать
Боковая сила определяет, насколько сильно машина будет пробуксовывать

Из этого следует, что общая сила трения вычисляется корнем из суммы квадратов боковой и передней сил.

На стыке реализма и веселья: как работает модель передвижения автомобиля в Uncharted 4

Однако, чтобы машина могла входить в управляемый занос, Naughty Dog вновь пришлось поступить в ущерб реализму. Когда игрок жмёт на тормоз, у задних колёс резко снижается сила трения — что позволяет легко «дрифтить» на участках с хорошим сопротивлением (например, на асфальте).

Разработчики воссоздали довольно реалистичную модель поведения автомобиля. Однако от многих элементов симуляции пришлось отказаться, чтобы игрок продолжал получать удовольствие от вождения. Всё же Uncharted 4 — это приключенческий экшен, а не симулятор внедорожника.

33 показа
23K23K открытий
49 комментариев

Лучший автотранспорт, что я когда-либо встречал в шутерах. Теперь понятно почему - такая глубокая проработка механики движения. Движется даже интереснее, чем в большинстве аркадных гонок.

Ответить

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

Ответить

"Самое высокое сцепление (за исключением дорог) было у участков травы. Чуть ниже — на поверхностях с грязью." - Я смотрю кто-то никогда не ездил по мокрой траве, сцепления у колёс там чуть более чем никакое.

Ответить

Всё же Uncharted 4 — это приключенческий экшен, а не симулятор внедорожника.

Прочитайте ещё раз плез)

Ответить

А где там была речь про мокрую траву?

Ответить
Комментарий удалён модератором

Я так IRL на мокрой траве перевернулся. Боком как потащило, затем переднее колесо в яму - результат предсказуем.

Ответить