Я работал над фильмом Marvel. Как делаются сложные эффекты

Я работал над фильмом Marvel. Как делаются сложные эффекты Marvel, VFX, Компьютерная графика, Cgi VFX, Houdini, Houdinifx, Визуальные эффекты, Фильмы, Киноляп, Человек-муравей, Киностудия, 3D, Blender, 3D моделирование, Видео, Без звука, Мат, YouTube, Длиннопост

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

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

Задачи вполне себе интересные и почти каждая из них, ввиду контекста, уникальна. Сейчас расскажу про одну из таких задач, которая поступила мне во время производства Человека Муравья: Квантомания.

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

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

Как делаются подобные эффекты

Что у нас есть? Анимация корабля и земля. Ок. Открываем Houdini (3д пакет), подгружаем геометрию корабля и смотрим в каком кадре произойдет первый контакт с землей. Для нас это, допустим, 64ый кадр.

Красим корабль хитрой краской, запускаем симуляцию (не спрашивай) с 64ого кадра и говорим чтобы он оставлял след от краски на земле везде, где проедет. Ок, но в чем хитрость и почему мы красим землю, мы попали в армию? Почти. Щас чуть-чуть колдовства. Прикол в том, что наша краска оставляет на земле номера кадров, в котором происходит каждый контакт с кораблём. И если раскрасить эти номера в рандомные цвета, то вот как это выглядит:

Каждая полоска - это номер кадра (от 64 и до 130)

Допустим, зелёная полоска - это участок земли, в котором происходит контакт корабля в 67ом кадре, следующая полоска - в 68ом кадре, следующая - в 69 (¬¬ ) и тд.

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

Источника дыма

1 порция, время: 5-10 минут, Ккал на 100г: ~170.

Ингредиенты:

  • Земля: 1 шт.

  • Объекты, которые могут повлиять на источник: по необходимости (у нас 1 корабль)

  • Ветер: по вкусу, но мы добавим

  • Гравитация: ~9,78 м/с

  • Точки: доху...

Способ приготовления:

Как мы помним, у нас была земля с номерами кадров каждого контакта, да? Берем и превращаем полигональную землю в 1 млн точек и оставляем только те, с которыми происходит контакт:

места косания корабля для каждого кадра по-очерёдно

Всем этим точкам указываем направление, куда им надо лететь (от корабля) , но с небольшим рандомом, шоб было покрасивше.

Я работал над фильмом Marvel. Как делаются сложные эффекты Marvel, VFX, Компьютерная графика, Cgi VFX, Houdini, Houdinifx, Визуальные эффекты, Фильмы, Киноляп, Человек-муравей, Киностудия, 3D, Blender, 3D моделирование, Видео, Без звука, Мат, YouTube, Длиннопост

точки лежат на земле. синие полосы - направление движения.

Достаем солвер (кастрюля для приготовления, ака штука которая делает симуляции) , скидываем туда все точки, землю, корабль, там создаем гравитацию и добавляем ветер (шоб было покрасивше х2).

Варить в районе 20 минут в зависимости от цп (центральный процессор, а не то что ты подумал). Смотрим что получилось:

Убираем с плиты и начинаем сервировку:

В кастрюле у нас сварилось в районе 30 млн точек. Таким количеством можно накормить роту солдат, но нам такие запасы ни к чему. По этому удаляем все точки, которые уже не двигаются + те, которые не увидит камера. Получаем 5 млн.

Я работал над фильмом Marvel. Как делаются сложные эффекты Marvel, VFX, Компьютерная графика, Cgi VFX, Houdini, Houdinifx, Визуальные эффекты, Фильмы, Киноляп, Человек-муравей, Киностудия, 3D, Blender, 3D моделирование, Видео, Без звука, Мат, YouTube, Длиннопост

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

Итак, половина дела сделана, теперь одна из самых узнаваемых частей процесса...

Симуляция

Внимательный читатель мог заметить, что мы уже симулили до этого, разве этого мало?

Вся наша жизнь — симуляция, скажи спасибо что не на шаре живем.

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

Референсы

Они помогают супервайзеру и тебе понять каким будет эффект. Он не обязательно должен быть точь в точь таким как в жизни (+ такой реф со всеми условиями найти трудно), это кино - художественное произведение, в котором работает одно правило - должно быть красиво. Однако я сторонник того, чтобы соблюдался примерный масштаб и какая никакая физ. корректность (если не говорить о магии). Размер деталей и скорость движения - главные аспекты которые помогают понять что происходит на экране, и пренебрегать ими в угоду чего-то другого - идея не лучшая. Разумеется хочется чтобы все эффекты выглядели физически корректными, но это нормально, если что-то утрируют в угоду зрелищности, тут главное найти баланс. Я в своём эффекте старался опираться на такую структуру:

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

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

после подключение тройцы нод - я захожу вовнутрь солвера и добавляю ветер там

Делаем в районе 10-20 итераций подбирая нужные параметры и получаем финальный результат:

Некоторым может показаться, что справа пыль "отпрыгивает", но это не так. Оригинальная модель корабля, как я сказал, была другой и в том участке был дополнительный удар части корабля, так что это новый выброс, а не "отскок" пыли от земли.

Сама пыль готова, остаётся добавить куски земли, вылетающих камней и отправить это всё дело в рендер (другой отдел). Там это всё правильно осветят и после этого следующий отдел попытается это всё грамотно склеить с другими составляющими + съёмочным материалом. Результат может получится как хороший, так и плохой. На это уже влияют даже не технический опыт художников, а кое-что другое. Если интересно узнать от чего зависит графика в кино, то об этом я подробно расписал в своей телеге. Так же я делал графику для Дома Дракона, но об этом уже есть целый видос, где я так же простым языком объясняю как сделать взрыв:

Всем спасибо за внимание <3