Огонь, дым и взрывы — визуальные эффекты, которые отделяют любительское видео от профессионального. Blender через симулятор Mantaflow даёт полный контроль над этими эффектами: от маленького пламени свечи до масштабного взрыва с ударной волной и дымовым грибом.
В этом материале — полный пайплайн создания огня и дыма в Blender: настройка симулятора, контроль формы пламени, экспорт в формат VDB для использования в других программах, и компоузинг финального кадра.
Mantaflow: что это и как работает
Mantaflow — физический симулятор жидкостей и газов, интегрированный в Blender начиная с версии 2.82. Он заменил старую Smoke/Fire систему и работает принципиально иначе: вместо упрощённой модели газа использует полные уравнения Навье-Стокса, что даёт значительно более реалистичный результат.
Принцип работы для огня и дыма: домен — трёхмерная сетка ячеек, каждая из которых хранит значения температуры, скорости, плотности дыма и топлива. На каждом кадре симулятор пересчитывает эти значения с учётом температурных градиентов, подъёма горячего воздуха, диффузии и затухания. Результат — объёмное поле данных, которое Blender рендерит как трёхмерный объём.
Настройка базовой симуляции огня
Шаг 1: домен
Создайте куб размером, примерно в 3-4 раза превышающим источник огня. Это будет Domain — пространство симуляции. В Properties — Physics добавьте Fluid, выберите Type Fluid, в Settings установите Type Domain.
Тип домена — Gas для огня и дыма (не FLIP, который предназначен для жидкостей). Сразу укажите конечный кадр симуляции в Cache — End Frame.
Resolution Divisions: 32 для быстрых тестов, 64-100 для финала. Огонь требует больше разрешения, чем вода, потому что тонкие языки пламени исчезают при низком разрешении. Для мелких деталей — спиральные структуры дыма, тонкие нити горения — нужно как минимум 128.
Шаг 2: источник огня
Создайте объект, из которого будет исходить огонь — сфера, цилиндр, меш по форме горелки или факела. Добавьте ему Fluid — Flow Type Fire. Параметры потока:
Fuel Amount — количество горючего, генерируемого объектом в секунду. Больше топлива — больше огня, выше температура. Для небольшого костра: 0.5-1.0. Для большого взрыва: 3-5 на пиковом кадре, снижаемые через Keyframes.
Temperature — начальная температура горючего. Высокая температура (800-1500 °C) создаёт более агрессивное пламя с быстрым подъёмом. Низкая (200-400 °C) — ленивое тлеющее горение.
Initial Velocity: направление начального движения потока. Для факела вверх — Vector Z 1.0-2.0. Для взрыва — Outflow, без направленного вектора.
Шаг 3: параметры горения в домене
В настройках домена раздел Flame: Reaction Speed определяет скорость химической реакции горения. Высокое значение (4-8) — быстрое острое пламя. Низкое (0.5-1.0) — медленное мягкое горение.
Burn Rate — как быстро потребляется топливо. Влияет на высоту пламени: высокий Burn Rate создаёт короткое интенсивное пламя, низкий — длинные языки.
Smoke Emission: параметр связывает образование дыма с горением. При значении 1.0 каждая сгоревшая частица топлива производит дым. Уменьшите до 0.3-0.5 для чистого огня без густого дыма, увеличьте до 2-3 для дымного неполного горения (горящая резина, химический пожар).
Контроль формы и движения огня
Два инструмента дают наибольший контроль над формой симуляции.
Turbulence / Noise Scale: в разделе Gas — Noise включите Noise, выберите шум Curl — он создаёт турбулентное закручивание, характерное для реального огня. Scale 1.5-2.0, Strength 0.2-0.5. Слишком высокая сила шума делает огонь хаотичным и неприятным; слишком низкая — деревянным и прямым.
Force Fields: добавьте Wind Force Field на сцену и оно будет влиять на направление дыма. Vortex Force Field создаёт закручивание — имитация завихрений в помещении или вихревого пламени. Turbulence Force Field добавляет хаотичность без конкретного направления.
Рендеринг объёма: Cycles vs EEVEE Next
Для реалистичного рендера огня необходим Cycles — только path tracing корректно обрабатывает самоосвещение пламени и рассеяние света в дыму. EEVEE даёт приемлемый результат для дыма, но огонь выглядит плоским без внутренней светимости.
Материал огня в Cycles: добавьте Volume Scatter и Volume Emission ноды. Volume Emission читает атрибут flame из симуляции и переводит его в свечение. ColorRamp нода переводит значения горения в цвет: синий и белый в центре (высокая температура), оранжевый и красный на краях (низкая температура).
Настройки рендера для объёмного дыма: Step Size в Volume Sampling — 0.1-0.3 для баланса качества и скорости. Слишком большой Step Size создаёт полосатость; слишком маленький — время рендера растёт нелинейно.
Экспорт в VDB для использования в других программах
OpenVDB — стандартный формат для объёмных данных в VFX-индустрии. Blender экспортирует симуляцию в VDB, который потом открывается в Cinema 4D, Houdini, After Effects с Element 3D или Unreal Engine.
В Cache настройках домена установите Openvdb Format, запустите Bake Data. После запечки в папке кеша появится последовательность .vdb файлов — по одному на кадр. Эти файлы содержат полную объёмную информацию: плотность дыма, температуру, скорость, топливо.
В Unreal Engine 5: импортируйте VDB через Content Browser, Material для объёма настраивается через Volume Material. В Houdini: File SOP, тип VDB — прямой импорт и возможность дальнейшей обработки мощными Houdini-инструментами.
Компоузинг в Blender Compositor
Финальный шаг — композитинг: совмещение рендера с фоновым видео или изображением, добавление глубины резкости, настройка цвета.
Включите Compositor в Properties — Render — Post Processing — Compositing. В Node Editor перейдите на Compositing. Базовый граф: Render Layers (источник рендера) — Color Balance (коррекция цвета) — Glare (блики от огня) — Composite (выход).
Нода Glare с типом Fog Glow или Streaks добавляет характерные блики вокруг яркого огня. Threshold 0.8-1.0 ограничивает эффект только самыми яркими пикселями; Strength 0.5-1.0 регулирует интенсивность.
Для совмещения с реальным видео: нода Image или Movie Clip под Render Layers, нода Alpha Over для наложения рендера на фон. Adjust цвет и экспозицию рендера под фон через Hue Saturation Value и Bright/Contrast.
Типичные ошибки начинающих
Огонь выглядит мультяшным: Resolution Divisions слишком низкое. Попробуйте 100-128, это уже другой уровень детализации. Также проверьте Force Field Turbulence — без него огонь выглядит прямолинейно.
Симуляция очень долгая: уменьшите Resolution для тестов. Дым с разрешением 200+ на обычном компьютере может симулироваться несколько минут на кадр. Сначала добейтесь правильной формы и движения на 64, потом повышайте.
Огонь исчезает сразу: Fuel Amount слишком низкое, или Burn Rate слишком высокий — топливо сгорает раньше, чем успевает распространиться. Начните с Fuel Amount 1.0 и Burn Rate 0.75.
Mantaflow — мощная система, которая при правильной настройке даёт результаты, не уступающие специализированным VFX-пакетам типа Houdini для большинства задач. Начните с простого костра, разберите каждый параметр опытным путём — через несколько проектов управление симуляцией становится интуитивным.
Настройка огня и дыма для реалистичного результата
Качественный огонь в Blender (Volume Domain) требует баланса между разрешением и временем симуляции. Для реалистичного результата: Flow объект должен быть достаточно мелким (увеличь Subdivision). Разрешение Smoke Domain: 64 для черновика, 256+ для финала. Noise (Turbulence) при значении 0.5-1.0 добавляет детальность. Тепловая поднятие (Buoyancy) выше 5-7 для быстрого подъёма дыма. В Material настройках Volume: Blackbody Intensity для цвета пламени (связан с температурой), Density multiplier регулирует непрозрачность дыма. Для ускорения рендера: EEVEE Volume Scatter достаточен для дальних планов, Cycles нужен для крупных планов огня.
Частые вопросы
Как сделать атомный взрыв в Blender?
Пайплайн: 1) Sphere Domain с высокой Buoyancy и Smoke Flow (Mesh type). 2) Force Field Wind направленный вверх внутри Domain. 3) Высокая начальная скорость частиц наружу. 4) Второй Domain для ударной волны (другой размер). 5) Motion Blur в рендере для динамики. Туториалы Blender Guru и CG Geek по взрывам — хорошие стартовые точки.
Как экспортировать VFX из Blender в Adobe After Effects?
Два подхода: 1) Render из Blender как PNG-последовательность с Alpha → Импорт в AE как композитный слой. 2) Render VDB (volume database) из Blender → Использовать в Element 3D плагине AE или конвертировать в OpenVDB. Для compositing: рендерь RGB отдельно, Alpha отдельно, Depth pass отдельно — это даёт максимальную гибкость в AE.
Можно ли использовать Blender VFX в Unreal Engine 5?
Да, через VDB (OpenVDB формат). Экспортируй симуляцию огня/дыма из Blender как .vdb (Симуляция → Export → VDB). В UE5 импортируй как Heterogeneous Volume. Это даёт фотореалистичные Volume-эффекты в UE5 без встроенных Niagara-частиц.