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

Сравнение 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