В этом первом уроке серии о огне и дыме с использованием симулятора Fluid в Blender 4.5 мы рассмотрим два основных элемента, необходимых для создания симуляции в Blender.
Этот урок является частью мини-серии из 10 эпизодов об основах огня и дыма в Blender 4.5. Чтобы просмотреть полный список эпизодов, нажмите здесь.
Видеоверсия этого руководства в настоящее время недоступна на этом языке. Ниже вы можете посмотреть английскую версию с субтитрами; под видео вы найдете перевод расшифровки на русский язык.
Текстовая расшифровка видео
Здравствуйте всем! В этом первом уроке серии о огне и дыме с использованием симулятора Fluid в Blender 4.5 мы рассмотрим два основных элемента, необходимых для создания симуляции в Blender.
Начнём с пустой сцены Blender. Чтобы добавить огонь или дым в сцену, можно подумать, что первым шагом будет добавление объекта, который излучает эти элементы. Это предположение верно, но оно представляет собой только половину основных компонентов, необходимых для запуска симуляции в Blender. Тем не менее, начнём с добавления в сцену объекта, который будет выполнять роль источника.
Инструменты симуляции огня и дыма в Blender находятся во вкладке Physics каждого объекта. Тип компонента, который нам нужно добавить, называется Fluid и используется как для жидкостей, так и для огня и дыма. Сначала вы увидите только меню Type, которое пока не разделяет жидкости и другие категории, а просто перечисляет возможные роли участника в симуляции.
Подсказки к различным типам элементов уже дают нам представление об их функциях. В частности, можно увидеть, что тип Flow используется для добавления или удаления элементов из сцены. Поскольку мы создали первый объект как источник огня и дыма, выберем этот тип.

В панели компонента появятся несколько новых параметров. Первый из них это Flow Type, который по умолчанию установлен в Smoke. Открыв меню, мы замечаем, что для Liquid доступен только один вариант, тогда как для огня и дыма предлагаются три варианта: каждый элемент отдельно или их комбинация. Параметр Fire And Smoke содержит настройки для обоих, поэтому в начальной части этой серии уроков я выберу именно его.

Если вы знакомы с другими типами физических симуляций в Blender, такими как Cloth или Collision, вы можете ожидать, что теперь достаточно перейти к первому кадру Timeline и нажать кнопку Play, чтобы запустить симуляцию огня и дыма. Однако это не даст никакого результата. Поэтому вернёмся к первому кадру Timeline и добавим второго основного участника, необходимого для симуляции Fluid: Domain.
Каждая симуляция Fluid должна происходить внутри трёхмерного пространства, также называемого объёмом, который определяется сеткой. В Blender этот объём называется Domain симуляции. Это необходимо главным образом по причинам производительности, поскольку такие симуляции требуют большого объёма памяти и вычислительных ресурсов, как мы увидим далее. Domain может быть объектом любой формы, но в конечном итоге Blender использует его Bounding Box. По этой причине наиболее очевидный выбор это Cube, масштабированный соответствующим образом.
После того как вы поместили объект источника внутрь Cube, который будет служить Domain, выберите Cube и добавьте компонент Fluid типа Domain с подтипом Gas. Cube сразу станет прозрачным, показывая свою структуру. Вы также заметите маленький куб в одном из нижних углов, и скоро мы увидим, что это означает. Однако самое заметное изменение состоит в том, что объект Inflow внутри Domain теперь окружён пламенем.

Установив первый кадр анимации как текущий в Timeline, нажмите Play, чтобы запустить симуляцию. Определённо что-то происходит, но как первая симуляция огня и дыма результат выглядит довольно разочаровывающе, поскольку огонь появляется только в первых нескольких кадрах, а затем остаётся только дым.

Причина такого поведения скрыта в одном из параметров объекта источника, поэтому выберем его. Параметр компонента Fluid, который нас интересует, называется Flow Behavior и по умолчанию установлен в Geometry. Подсказка сообщает, что Geometry использует текущую геометрию для создания огня, тогда как режим Inflow непрерывно добавляет огонь в сцену. Переключим режим на Inflow, вернёмся к первому кадру Timeline и снова нажмём Play.
Выражение «добавляет огонь» для режима Inflow является ключевым, потому что объекты Inflow непрерывно создают новые элементы симуляции на каждом кадре, начиная от своей геометрии. Режим Geometry, напротив, учитывает геометрию только на первом кадре, как бы сразу расходуя её. В некотором смысле использование режима Geometry похоже на сжигание небольшого кусочка бумаги или на дымовую машину, выпускающую один клуб дыма, тогда как Inflow похож на конфорку плиты или дымовую машину, которая непрерывно производит дым.
Возможно, вы заметили, что пламя, особенно в нижней части объекта, выглядит слишком блочным, точнее кубическим, поскольку мы работаем в 3D. Причина такого вида связана с параметром Domain под названием Resolution, который определяет, на сколько маленьких кубов делится объём Domain.
Это разрешение визуально представлено маленьким кубом, который появляется в нижнем углу Domain.
Фактически при низких значениях Resolution можно отчётливо увидеть, как огонь и дым разделены на кубы такого размера.

Симуляции Fluid работают путём разбиения объёма Domain на маленькие кубы, называемые Voxels. Это наименьшие единицы, используемые для расчёта симуляции, поэтому Voxel является трёхмерным эквивалентом пикселя в двумерных изображениях. Как и в случае с пикселями, большее количество Voxels для данного объёма означает лучшее качество, но требует большей вычислительной мощности и места на диске. Лучший подход заключается в том, чтобы начать со значения Resolution по умолчанию 32, затем настроить остальные параметры до получения желаемой формы огня и дыма. После этого можно увеличить Resolution для тестирования, а затем установить очень высокое значение для финального результата.
Говоря об использовании памяти, давайте посмотрим, где сохраняются данные симуляции Fluid, особенно учитывая, что я ещё не сохранил файл проекта. Эта информация находится в разделе Cache объекта Domain, и по указанному там пути видно, что Blender создал на диске папку для хранения файлов симуляции. Поскольку текущий файл проекта не был сохранён, эта папка создаётся во временном расположении. Поэтому не повторяйте мою ошибку. Всегда сохраняйте файл проекта Blender перед созданием Domain и других элементов симуляции Fluid. Тогда папка кэша будет создана в той же директории, что и файл проекта, и вам не придётся искать её на диске.
Если сейчас переключить режим отображения во Viewport или выполнить рендер на промежуточном кадре Timeline, мы не увидим ни огня, ни дыма. Это происходит потому, что то, что мы сейчас видим в 3D Viewport в режиме Solid, является лишь визуализацией Voxels огня и дыма в трёхмерном пространстве, но мы ещё не назначили им Materials для рендеринга. Об этом мы поговорим в следующем эпизоде!