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

Сравнение Pyro и Axiom на примере одинаковой сцены из ВКР

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

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

Вы можете скачать эту сцену по ссылке и найти проект, под названием «scene», в котором находятся все необходимые кэши.

0

Для загрузки кэшированных данных симуляции необходимо обратиться к узлу «file cache», активировать опцию «load from disk» и настроить параметр «constructed» на значение «explicit». После этого следует определить файлы, которые будут загружены в проект.

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

Create Emitter

0

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

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

0

В разделе «burst components» можно создать требуемые атрибуты, именно поэтому автор визуального исследования добавил атрибут «divergence», чтобы сделать взрыв более управляемым. Позже были скорректированы такие параметры, как направление взрыва и стартовое время создания частиц. Подробный разбор этой ноды не обязателен, так как ее настройка сильно зависит от поставленной задачи, а параметры интуитивны и легко понимаются.

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

После создания общего эффекта разлетающихся частиц необходимо перейти во вкладку «quick setups» и выбрать «pyro simulation». Это действие автоматически создаст готовую настройку для симуляции, параметры которой можно редактировать.

Pyro explosion

0

Для того, чтобы сделать кэш взрыва, необходимо вытащить ноду «pyro post process», которая конвертирует дым в VDB, для того, чтобы на рендере программа смогла увидеть поля, созданные при симуляции и корректно зашейдить.

«File cache» отвечает за процесс сохранения информации, можно выставить необходимые кадры, назвать, а так же указать в какую папку необходимо экспортировать секвенцию.

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

0

В процессе моделирования взрыва применялась коллизия, которая играла ключевую роль в создании правдоподобной симуляции. Для корректного переноса эффектов разрушения необходимо в контейнере геометрии создать узел «null», а затем использовать его в узле «object merge». Параметр «transform» следует установить в положение «into this object». Это обеспечивает сохранение трансформационных свойств геометрии и её корректное отображение в пространстве.

Для узла, отвечающего за растеризацию атрибутов, полезно применять функцию «velocity blur». Данная функция позволяет создавать эффект размытия поля скорости. Настройка параметра «shutter offset» с отрицательным значением предоставляет возможность добиться эффекта, при котором разлетающиеся фрагменты генерируют дымовые шлейфы.

Чтобы корректно перенести геометрическую плоскость, необходимо воспользоваться тем же методом: скопировать путь через узел «null» и экспортировать его в «object merge». Узел «extrude volume» играет важную роль в добавлении объёма, вытягивая плоскость вниз и тем самым создавая пространство для заполнения объёма вместе с добавлением атрибута «v». Эти шаги повторяют методику, описанную ранее при рассмотрении симуляции системы «Pyro».

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

При регулировке параметров была создана анимация силы значений таких параметров, как «gravity direction» и «gravity scale» для того, чтобы дым после взрыва поднимался наверх быстрее.

0

Кэширование взрыва для 150 кадров составило ~ 1 час.

Среди основных недостатков можно выделить затруднения в контроле общего визуального восприятия дыма и огня, вызванные длительным процессом симуляции. Это значительно усложняет процесс работы. Несмотря на установление параметров «dissipation» и «cooling rate» на минимальные значения, взрыв все равно быстро прекратил своё распространение, что повлияло на конечный результат.

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

Debris Pyro

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

0

Чтобы подготовить точки для Pyro, нужно создать атрибут «v» с помощью ноды «trails». Трансформации в контексте «obj» были удалены, поскольку точки от осколков уже закэшированы в правильном положении и не требуют дополнительной трансформации.

0

Через инструмент «Pyro Source» становится возможным инициализировать основные атрибуты, необходимые для корректного выполнения симуляции дыма, а также последующей растеризации требуемых полей.

Не менее значимым этапом является предварительная обработка данных. Автор визуального исследования провел очистку точек от излишних значений, применив инструмент «Attribute Delete» и активировав функцию «Delete Non-Selected», оставляя при этом только атрибут скорости. Этот шаг играет ключевую роль в оптимизации рабочего процесса.

0

Чтобы добавить необходимую геометрию для коллизии, нужно создать ноду «null», скопировать её путь с помощью комбинации клавиш Ctrl + C и вставить его в ноду «object merge», в которой находится симуляция pyro. Автор применил «extrude volume» к плоскости для заполнения внутреннего пространства и выполнения необходимых операций по созданию sdf для коллизии.

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

Исходный размер 1920x1080
Глава:
3
4
5
6
7
Мы используем файлы cookies для улучшения работы сайта и большего удобства его использования. Более подробную информац...
Показать больше