Войти
12.10.2021
25
843

Да кто такая эта ваша разрушаемость?!

Ребята, которые монтируют трейлеры для игр, любят лишний раз козырнуть рассыпающимся в пыль небоскрёбом, смятым в гармошку автомобилем или стеклом, которое красиво, переливаясь на солнце, разбивается на осколки. Разрушаемость в играх, открою вам секрет, была почти всегда. Создавать её стало куда сложнее, дороже и… обязательнее? В ААA-играх с открытым миром сейчас будет дурным тоном не накидать хотя бы разбивающихся горшков или коробок, а самые дорогие современные шутеры строят целые рекламные кампании на том, как смачно в них можно крушить и ломать.

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

Рассыпаться на пиксели

Итак, впервые разрушаемость в играх можно заметить в Space Invaders, выпущенной в  1978 году. Игрок должен был уничтожать монстров, а те в долгу не оставались и тоже вяло постреливали в ответ. От их атак можно было спрятаться за какими-то странными зданиями. И вот именно эти непонятные штуки потихоньку и рассыпались от выстрелов монстров — каждый снаряд удалял несколько зелёных пикселей. Понятно, что о полноценной разрушаемости говорить не приходится, физики тут никакой, технологии на уровне Paint, а отдельные пиксели от фигур могли остаться одиноко висеть посреди бескрайнего чёрного ничто. Но это уже начало.

Space Invaders со странными зданиями

Battle City с танками и недоеденными стенами

Rampage, в которой можно крушить

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

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

Worms Reinforcements с фотошопной технологией

Первые двумерные части Worms, например, работали с этим довольно интересно. В них дизайнеры уровней раскладывали всё окружение на слои, как это делают, например, в создании макетов в фотошопе. Фон — один слой, всё разрушаемое окружение — на втором, а сами червячки и всё прочее — отдельно. При выстреле каждое оружие удаляло часть спрайта с разрушаемым окружением, как большая круглая кисть. При этом стирало оно всё, вне зависимости от материала, из которого были сделаны объекты — и деревья, и камни, и других червей уничтожить было одинаково просто. 

Но это всё двумерные игры, которые не очень требовательны и прожорливы, и с которыми можно выкрутиться простым наложением текстур. Переход же геймдева в 3D требовал добавить к уже существующему арсеналу костылей ещё пару десятков новых ухищрений. Благо, поначалу коридорные игры не требовали какой-то резкой революции в этом плане: проходить уровни нужно было в соответствии с геймдизайнерским замыслом, а значит, что большей разрушаемости, чем парочка бочек, как в Doom, или JPEG-следы от пуль на текстурах, как в Duke Nukem 3D, никто и не требовал.

Зачем прописывать стенам урон от пуль, если можно просто наложить картинку с трещинами?

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

Заскриптованная разрушаемость

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

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

Разрушение небоскрёба в Battlefield 4

Движок Frostbite чаще всего принято связывать именно с тем, как всё можно крушить и ломать, однако в той же Battlefield 4 разрушения были заcкриптованы. Система Levolution помогала создавать масштабные заварушки, меняющие дизайн уровней и выглядящие потрясающе. Однако это были заскриптованные сцены. 

По каким-то причинам рекламные кампании сейчас обернулись тем, что заскриптованная разрушаемость — непременно плохо, и принялись хвастать, что всё в свежих играх считается в реальном времени. С этим попытался ловко извернуться Crackdown 3, разработчики которого обещали невиданную ранее степень разрушений. Чтобы не превращать компьютеры игроков в вафельницы, было обещано, что все расчёты полётов и расколов объектов будут проходить на облачной платформе Microsoft Azure. Звучит, конечно, интересно, пусть и не для игроков с низкой скоростью интернета, но всё это в итоге обернулось ничем, а разрушений в игре толком обнаружено не было. Жаль.

Интересный подход в Metal Gear Rising: Revengeance — на место среза предмета подставлялась заранее прорисованная текстура внутренностей этого предмета

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

Процедурная разрушаемость

Прорывом в играх с разрушаемостью, основанной на физике, принято считать Red Faction. Игра вышла в 2001 году, а в ней уже можно было создавать тоннели и проломы в стенах. Ведущий программист полгода работал над тем, чтобы сделать вообще все предметы в игре разрушаемыми, но, как обычно бывает, в процессе возникло много проблем, и функции в конце концов урезали — не хватало ни времени, ни денег. 

Для Red Faction: Guerrilla, вышедшей в 2009 году, создали вторую версию движка Geo-Mod, который позволил создавать все разрушаемые объекты из частей, на которые они и разлетались под агрессивным напором игрока. Движок просчитывал, как физика твёрдых тел распорядилась бы этими обломками, и вырисовывал им траектории полёта.

На части скриншотов ремастер, но это не умаляет достоинств оригинальных разрушений

На части скриншотов ремастер, но это не умаляет достоинств оригинальных разрушений

На части скриншотов ремастер, но это не умаляет достоинств оригинальных разрушений

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

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

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

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

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

SUPERHOT — интересный пример графического упрощения разрушаемости

Каждому объекту задали материал, из которого он сделан. Игра знала, из чего состоит стол, и что он должен разлететься в щепки, а бетонная стена начнёт пылить и распадаться на куски.

Кстати, про них. Части в объектах тоже могут быть взаимосвязаны, и с ними можно работать по-разному. В Bad Company 2 дома состояли из 36 сегментов. При разрушении 24 из них дом мог обвалиться и похоронить под собой каких-нибудь злобных неписей. Это тоже случай, когда разрушаемость отражается на геймплее.

Деформация модели

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

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

Мы уже сегодня говорили о серии Worms, но затронули только двумерные игры. Так вот, в трёхмерных частях серии Worms обратились к вокселям. Воксельные игры позволяют проще всего просчитывать разрушаемость, ведь последствия взрыва показывают так же — удалением вокселей из радиуса столкновения. Воксельные объекты также заполнены внутри, поэтому они могут физически деформироваться.

Worms 3D и Worms 4: Mayhem использовали «покселы» (образовано от voxel и polygon) для динамически разрушаемого трёхмерного ландшафта

А надо ли ломать?

На самом деле, успехов на поприще разрушаемости даже сейчас, в 2021 году, не так уж много, несмотря на то, что занимаются этим в геймдеве уже довольно давно. Это можно понять, поскольку, будем честны, разрушаемость объектов редко несёт какой-то геймплейный смысл, как это сделано в Control. Такие игры — скорее исключение из правил, то есть, по большому счёту, разрушаемость — просто красивость, причём прожорливая на ресурсы, железо и графику.

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

Александра Solongoy
Ломала, а не строила
почитать еще
комментарии 25
14.Oct.2021 в 19:11
1
0

Впервые прочитал статью на сайте, мне зашло, надо будет почитать другие как-нибудь)

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов

Обязательно почитайте - у нас много крутых статей!

До 1000 символов
Комментарий удален.
До 1000 символов
14.Oct.2021 в 18:18
2
0

Итан Непобедимый, видно, слишком любит беседку, что аж мне все коменты годичной давности задизлайкал

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов
14.Oct.2021 в 18:22
Krefifne
2
0

Скорее всего, просто выбивает ачивку "Хейтер")

До 1000 символов
Комментарий удален.
До 1000 символов
12.Oct.2021 в 18:19
4
0

статья понравилась, так что лайк можно ставить

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов

Только лайков у статей нет :D Но вы можете поделиться ей в соцсетях - нам будет приятно ^_^

До 1000 символов
Комментарий удален.
До 1000 символов

Прекрасная статья, много интересных примеров. Вспомнил про Red faction и Bad company 2)

 16
До 1000 символов
Комментарий удален.
До 1000 символов

Очень интересная статья с шикарными примерами:))

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов

Спасибо!)

До 1000 символов
Комментарий удален.
До 1000 символов