Исходный размер 2289x2862

Анализ развития симуляции частиц с агентно-когерентном поведением

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

Концепция

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

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

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

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

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

Главный вопрос моего исследования — как за двадцать с лишним лет изменилось то, что технически можно сделать с агентно-когерентной материей? С чего всё начиналось: первые попытки заставить симуляцию частиц одновременно осознавать совокупность и агентность частиц. И к чему пришли сейчас: возможность управлять миллионами частиц в реальном времени, с разными типами связности, с переходом между твёрдым телом и роем без видимых стыков. Мне интересно не просто перечислить вехи, а понять, какие именно инженерные прорывы расширяли коридор возможностей — когда и за счёт чего стало возможным то, что ещё пять лет назад было невозможно. И как далеко мы ушли от той точки, где песок был просто текстурой, которая неуклюже налеплена на каркас.

Мумия (1999)

​Для создания легендарного эпизода с песчаным лицом в фильме Мумия 1999 года студия Industrial Light & Magic (ILM) использовала передовые для того времени процедурные системы частиц, сочетая их с физическими эффектами и цифровым сканированием. Эта сцена, где лицо Имхотепа формируется из гигантской песчаной бури и пытается поглотить самолет, стала одним из самых сложных технических вызовов периода раннего использования компьютерной графики.

1. Концепт Алекса Лорана 2. Финальный кадр в фильме Мумия (1999)

​Создание реалистичной песчаной бури требовало управления огромными массивами данных, что в 1999 году создавало колоссальную нагрузку на компьютерную память.

Программная основа: ​Симуляция базировалась на процедурных алгоритмах, ранее разработанных в ILM для создания торнадо в фильме «Смерч», но адаптированных под специфику гранулярных сред.

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

Исходный размер 700x298

Отрывок из фильма Мумия (1999)

Исходный размер 700x298

Отрывок из фильма Мумия (1999) с появлением лица

Сканирование лица: ​Лицо актера Арнольда Вослу было предварительно отсканировано для создания точной трехмерной модели. Аниматор создал несколько вариантов формы лица и тому подобное. В данном случае создателям очень хотелось удлинить и растянуть лицо, когда оно появляется, потому что оно должно быть сделано из песка, поэтому был добавлен дополнительный набор элементов управления, которые позволяли действительно тянуть лицо вниз и добиваться от этого преувеличенных выражений.

Исходный размер 1000x563

Создание 3D модели песчаного лица

Поверхность как эмиттер: Анимированная 3D-модель лица использовалась в качестве «излучателя» (emitter) для частиц, что позволяло песку повторять мимику и форму головы персонажа. Была создана так называемая карта глубины — по сути, это рендер, где ближайшая точка отображается белым, а самая удаленная — черным. Эту информацию далее можно использовать с частицами, чтобы создать изображение лица в песке.

Процесс разработки и анимации

Исходный размер 700x298

Финальные кадры с анимированным лицом в фильме Мумия (1999)

Управление параметрами: Прорыв в разработке совершил художник Рауль Эссиг, который в течение нескольких месяцев настраивал параметры симуляции, чтобы лицо выглядело органичной частью бури, а не просто наложенной сверху маской.

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

Исходный размер 580x390

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

Исходный размер 1920x816

Кадр из фильма Мумия (1999)

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

Человек паук: враг в отражении (2007)

Loading...

​Создание персонажа Песочного человека для фильма Человек паук 3 (2007) стало одним из самых сложных технических вызовов в истории визуальных эффектов того времени. ​Специалисты из компании Sony Pictures Imageworks потратили три года на разработку уникального программного обеспечения и физических симуляций, чтобы передать реалистичное поведение песка, при этом сохраняющего цельную твердую форму.

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

«В ходе этого процесса у нас была команда из примерно четырех штатных сотрудников, занимавшихся разработкой собственного программного обеспечения, часть которого была написана на C++, часть — на Python, а многие разработанные инструменты были доступны в виде плагинов для Houdini, пакета эффектов частиц от Side Effects»

Дуглас Блум, создатель визуальных эффектов

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

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

Исходный размер 700x394

Кадры из фильма Человек-паук: Враг в отражении (2007)

«Наряду с этим был пользовательский язык шейдинга, который позволял художникам по свету или специалистам по эффектам писать небольшие шейдеры или пользовательские выражения для управления уровнем детализации, контролируя, отображается ли отдельное зернышко как точка или модель, а также контролируя размер зерен или цвет и приблизительное распределение размера и плотности. Один кадр длился две недели: фактический размер песчинки, когда камера приближается к лицу Песочного человека. Это позволяло художнику по свету регулировать размер и изменять распределение размера зерен, не возвращаясь к настройкам эффектов».

Дуглас Блум, создатель визуальных эффектов

Это позволило комбинировать состояния симуляции и создавать Песочного человека как цельного персонажа в человеческой форме. Например, в эпизоде ​​с [Флинтом] Марко, где он превращается в атом, видно как он растворяется и разлетается на отдельные песчинки. Опять же, это было сделано с помощью целого набора инструментов, использующих общий формат файлов. В данный момент он представляет собой полигональную сетку, а затем в определенном кадре заменяется миллионами мелких частиц, которые будут привязаны к этой сетке. Этот переход не заметен, но это позволяет отделить отдельные частицы от общей сетки и заставить их разлететься, как самостоятельных агентов.

Исходный размер 700x394

На отрывке отлично видно, как частицы сначала ведут себя как цельная форма, но легко рассыпаются как отдельные агенты при столкновении с кулоном, фильм Человек-паук 3: враг в отражении (2007)

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

Loading...

Человек паук: нет пути домой 2021

Анализ развития симуляции частиц с агентно-когерентном поведением
Проект создан 28.05.2026
Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную...
Показать больше