{"id":4012,"url":"\/distributions\/4012\/click?bit=1&hash=5b9cad3f989520ad358a2237d28d1f12ecdc50cb8452456f27fcbce716b2c8f0","title":"\u041f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0441\u0442\u0435\u0441\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0438\u0435\u043b\u0442\u043e\u0440\u043e\u0432","buttonText":"","imageUuid":"","isPaidAndBannersEnabled":false}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0
49 комментариев
Написать комментарий...
marom

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

Ответить
Развернуть ветку
Sergii Pavlenko

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

Ответить
Развернуть ветку
owlie

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

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

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

Ответить
Развернуть ветку
owlie

Я не про реализм, а логику. Никто не просит рассчитывать температуру шин и их давление, просто немного логики.

Ответить
Развернуть ветку
WhiteCrow

Какая логика в Uncharted? Он под градом пуль бегает и ему норм приземляться с спиной на камни

Ответить
Развернуть ветку
Ян Корвин

Чому-то owlie не может тебе ответить нормально, придётся мне :D
А логика примерно такая же, как и в том, чтобы сделать трение у дороги больше, чем трение на лужах. Вот почему они почти убрали его в лужах, но оставили на дороге? Правильно - логика, основанная на опыте из реального мира. И именно по этой же логике с травой сцепление должно быть меньше, чем на дороге, но больше, чем на лужах.

Ответить
Развернуть ветку
owlie

Тем не менее они в него никогда не попадают (знаете наверное про механику "удачи" в игре), а трюки вполне выполнимы каскадёрами.

Ответить
Развернуть ветку
WhiteCrow
Тем не менее они в него никогда не попадают (знаете наверное про механику "удачи" в игре),

Зависит от уровня сложности)

а трюки вполне выполнимы каскадёрами.

Со страховками и прочей защитой. Ах да. Ещё и дни подготовки к этому. И Каскадёры часто погибают.

Ответить
Развернуть ветку
Евгений Кутилин

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

Ответить
Развернуть ветку
Ян Корвин

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

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
owlie

Поезди на реальной машине по траве (любой) и грязи. Потом поговорим

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
owlie

Вау, вот это сравнение:
1. В Spintires транспорт куда тяжелее, скорости меньше.
2. Spintires далеко не симулятор и разницу между поверхностями почти не передаёт.
А теперь всё же попробуйте на реальной машине. Или хотя бы посмотрите как гоночные болиды вылетают на газон и как себя ведут.

Ответить
Развернуть ветку
Michael Banin

глубина и агрессивность протектора шины в расчет берется?) В анче вроде не болид и не гражданская резина

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Darkusoid

Что за токсичная чушка?

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Big Brother

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

Ответить
Развернуть ветку
Ян Корвин

Да даже не по мокрой. Просто обычная летняя сочная трава.

Ответить
Развернуть ветку
Max Yankov

Это "кто-то" - типичный игрок в Uncharted. Задача разработчиков аркадной механики - соответствовать ожиданиям своей целевой аудитории, а не просвещать её о том, как на самом деле будет работать физика в эти моменты.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Никита Элхон

Давно приметил что на примере серии uncharted основаны почти все статьи описания механик и нарратива.

Ответить
Развернуть ветку
Mervish

Что странно, учитывая что и механики и нарратив там откровенно слабые. Вот технический статей, вроде этой, можно хоть миллион настрочить.

Ответить
Развернуть ветку
Какушиго Мусока

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

Ответить
Развернуть ветку
Арнольд Валерьянович

А разве там не лучшие механики и нарратив в индустрии?

Ответить
Развернуть ветку
Арнольд Валерьянович

Хорошая же игра)

Ответить
Развернуть ветку
hyposlasher

НАРРРРАТИВААА

Ответить
Развернуть ветку
Badex

Интересный материал, спасибо. В принципе, с хардкорной физикой было бы даже интереснее)

Ответить
Развернуть ветку
The Most Known

Всё-таки большое количество gif в постах - это зло.
А статья интересная :)

Ответить
Развернуть ветку
Сергей Веселый

Это видео, а не gif

Ответить
Развернуть ветку
The Most Known

Действительно:) Но всё равно - зло, браузер начинает подтормаживать от того, что срабатывает автовоспроизведение.

Ответить
Развернуть ветку
Сергей Веселый

А сколько лет твоему процессору и видеокарте в компе? Уже довольно давно декодирование видео есть в аппаратном режиме, и оно не должно влиять на производительность компа сильно

Ответить
Развернуть ветку
The Most Known

У меня старая ЭВМ :)

Ответить
Развернуть ветку
Alan Cake

В так случае у тебя и яндекс дзен будет тормозить.

Ответить
Развернуть ветку
The Most Known

Яндекс.Дзен кстати нормально работает.

Ответить
Развернуть ветку
Тимофей Черкас

Ну так и чего ты ноешь?

Ответить
Развернуть ветку
Бабчак Владимир

Когда загружали может было и видео, но после опубликования они автоматически конвертируются в формат gif

Ответить
Развернуть ветку
REM1X

Вообще-то наоборот.
Здесь одни mp4.

Ответить
Развернуть ветку
Сергей Веселый

У меня все видео в статье в формате mp4, а у тебя по-другому?

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Yury Molodtsov

Мне кажется в Uncharted одна из лучших механик управления авто среди игр, где это вообще-то не основа геймплея.

Ответить
Развернуть ветку
Евгений Серегин

Жаль только регулировка скорости автомобиля вышла очень паршивой, из-за чего ощущение было управления крутой, но игрушечной машинкой

Ответить
Развернуть ветку
187q89ewq9w8e7q978ew

В Mafia 2 очень реалистичное движение автомобилей. Там можно переключаться между режимом симулятор и аркада. Так как машины там до изобретения ремня безопасности почти любое скоростное столкновение ведет к смерти.

Ответить
Развернуть ветку
Василий Водокачкин

больше скорость меньше ям
https://giant.gfycat.com/GlumLeafyDingo.mp4

Ответить
Развернуть ветку
FortuneGames

Naughty Dog красавчики.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Yury Molodtsov

Это что, в GTA они загораются, если перевернуться
!

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Yury Molodtsov

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

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Eight Bit
)))))))))))))
калчартеде

Ну ты ведь понимаешь, да?

Ответить
Развернуть ветку
Lonely Angel

Какая-то дичь. В стиле, мы сделали практически реалистичную физику в игре, но... решили отключить её к **ям, а то не весело и вернуться в начало двухтысячных. И зачем эта реалистичность? Даешь очередную тупую аркаду, к которым все так привыкли. Вот правильно написали, что сделали бы выбор в настройках.

Ответить
Развернуть ветку
Никита Громов

Миссия неплохая была

Ответить
Развернуть ветку
Colapes

Эх, именно по этому я бы никогда не смог вкатится в геймдев: Очень нужно знание алгебр, геометр , физик :(

Ответить
Развернуть ветку
Читать все 49 комментариев
null