Разбираемся в процедурной системе разрушений симулятора супергероя Megaton Rainfall

1 0
Разбираемся в процедурной системе разрушений симулятора супергероя Megaton Rainfall

Грандиозный боевик студии Pentadimensional Games для PS VR уже в продаже

2012 год. Ранняя версия Megaton Rainfall (которая тогда еще не имела названия). На экране моделируется разрушение здания в зависимости от места попадания выстрела. Фантастическое зрелище. В этот-то момент Альфонсо дель Церро Агилар (Alfonso del Cerro Aguilar) и решил бросить работу ради того, чтобы довести разработку Megaton Rainfall до конца. И вот сегодня его детище поступило в продажу.

Передаем слово самому Альфонсо:

Как и все, я обожаю голливудские блокбастеры с мощными взрывами. И было кое-что, что выгодно отличало взрывы в фильмах от взрывов в играх.

Большинство разрушений в играх неслучайные. Вот как это происходит. Например, снаряд из РПГ попадает в дом и взрывается. В момент взрыва модель «целого дома» в игре подменяется моделью «разрушенного дома» с одновременным появлением спецэффектов (огонь, дым, обломки). Загвоздка в том, что это выглядит непоследовательно. Вы замечаете монтажную склейку, резкий переход в первом кадре взрыва, поэтому не верите, что дом действительно взорван. А еще модель «разрушенного дома» вряд ли содержит дыру именно в месте попадания снаряда (потому что художник модели не может знать, откуда будет произведен выстрел).

В качестве решения можно было бы предложить модель «рубленного дома», состоящего из множества частиц. Во время попадания подключается эта модель, чтобы в движение приходили только частицы вокруг эпицентра взрыва, но… что если дизайнер не знает меры и хочет видеть огромные взрывы огромных небоскребов в крупных городах площадью по 200 квадратных миль? Для этого потребовались бы колоссальные объемы памяти.

Так что я делюсь двумя блестящими идеями, благодаря которым мне удалось создать систему процедурного разрушения для Megaton Rainfall (кстати, при 60 кадрах в секунду со стереозвуком в виртуальной реальности).

(И если бы я прочитал этот блог в 2012 году, мог бы существенно сэкономить время на многих ненужных экспериментах).

Первая идея: во время взрыва делается снимок дома

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

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

Если есть здание и эпицентр взрыва, как воспроизвести «разрушенную» модель здания, включая несущие стены?

Хитрость в том, чтобы хранить «бумажную» модель дома (которая не учитывает толщину стен), невидимую игроку, и «объемную» модель с толстыми стенами, которая будет отображаться на экране. Далее игровой движок очень быстро превращает «бумажные стены» в объемные. Во время взрыва мы убираем объемную модель, удаляем лишние треугольники «бумажной» вокруг эпицентра взрыва (то есть обновляем ее), затем воссоздаем новую объемную модель на основе изменившейся «бумажной» модели.

И в качестве завершающих штрихов добавляем огонь, дым, искры, взрывную волну, несчастных людей, мебель — «вуаля»! Процедурный взрыв к вашим услугам. (А вот огонь видно только ночью. Художественное решение. И людей видно только вдалеке. Чтобы избежать рейтинга 18+).

Как вы уже поняли, в Megaton Rainfall много разных видов взрывов. Готовы к такому в виртуальной реальности?

Комментарии закрыты.

1 комментарий

Пожалуйста, введите дату рождения.