Как устроено это семейство
До pRender передаётся состояние частиц. Output Mode определяет следующую систему: 2D даёт изображение, 3D — геометрию для Renderer3D.
Что проходит по проводам
В Particle-системе по проводу идёт не готовая картинка, а описание частиц. У каждой частицы есть координаты, скорость, направление, возраст, lifetime, размер, цвет, масса, вращение и другие параметры поведения. Поэтому обычный Blur, Color Corrector или Merge не понимает p-поток напрямую: им нужен уже отрендеренный image-результат.
Particle-ноды удобнее воспринимать как маленькую симуляцию внутри Fusion. До pRender (2D) ты работаешь не с пикселями, а с правилами рождения и движения. pEmitter говорит, откуда появляются частицы. pTurbulence и силы меняют траекторию. pBounce описывает столкновения. pKill удаляет лишнее. pSpawn может порождать новые частицы от уже существующих.
Граница между particle-миром и обычным композитингом — pRender (2D). После pRender (2D) частицы становятся обычным изображением с альфой, которое можно положить через 2D Merge, размыть, подсветить Glow, подкрасить Color Corrector и вывести в MediaOut. До pRender (2D) это ещё не картинка, а поток данных симуляции.
Чем p-ноды отличаются от обычных 2D-нод
Обычная 2D-нода меняет уже существующее изображение: пиксели, альфу, каналы, размер кадра. Particle-нода чаще меняет состояние частиц во времени. Поэтому результат зависит не только от текущего кадра, но и от симуляции: сколько частиц родилось раньше, куда они успели улететь, сколько живут и какие силы на них действовали.
Из-за этой временной логики particle-композиции чувствительны к диапазону кадров, кешу и порядку нод. Если прыгать по таймлайну без просчёта, частицы могут выглядеть не так, как при последовательном воспроизведении. Для стабильного результата часто нужно прокрутить симуляцию с начала нужного участка или закешировать тяжёлый блок.
Это главное отличие от простого Glow или Blur: эффект можно посчитать на одном кадре независимо, а частицы часто требуют накопленного состояния. Поэтому particle-блок лучше держать отдельной понятной веткой, а не смешивать его с финальной 2D-сборкой до рендера.
Типовая логика particle-схемы
Базовая цепочка почти всегда начинается с источника частиц. pEmitter рождает частицы из точки, области или объёма. pImageEmitter может использовать картинку как источник: частицы появляются из яркости, альфы или заданной области изображения. Это удобно для распада логотипа, песка, дыма, искр, цифровой пыли и абстрактной графики.
После эмиттера идут ноды поведения. pTurbulence добавляет хаотическое движение, pDirectionalForce тянет поток в сторону, pPointForce притягивает или отталкивает, pFriction гасит скорость, pBounce задаёт отскок от области, pKill чистит лишние частицы. pMerge объединяет несколько потоков, но объединяет именно particle-данные, а не обычные изображения.
Вид частиц задаётся прежде всего в Style эмиттера и меняется через pChangeStyle: например, Point, Blob, Line, Brush или Bitmap. pRender выбирает способ вывода и параметры рендера; в режиме 2D он превращает этот стиль в пиксели. Уже после pRender (2D) начинается знакомый 2D-композитинг: Merge поверх видео, Glow для яркости, Blur для мягкости, Color Corrector для подгонки, маска для ограничения области.
Где particle-ноды действительно нужны
Particle-система оправдана, когда эффект должен жить как множество отдельных элементов: искры, пыль, снег, дождь, дымовые точки, цифровой распад, поток букв, разлёт логотипа, магические частицы, фоновые абстракции, энергетические шлейфы, технологичные HUD-элементы.
Если нужно просто добавить один блик, мягкое свечение или лёгкое размытие, particles часто избыточны. Проще использовать обычные 2D-ноды. Но если нужен управляемый поток мелких элементов, случайность, разлёт, наследование скорости, возраст и постепенное исчезновение, p-ноды дают намного больше контроля.
Хороший практический критерий простой: если объект один — скорее всего, хватит 2D. Если объектов сотни или тысячи, и каждый должен жить по своим правилам, это уже задача для particle-системы.
Как совмещать particles с 2D, Shape и 3D
Particle-блок почти всегда лучше собирать отдельно. Сначала создаётся симуляция, затем она рендерится через pRender (2D), и только после этого результат попадает в обычный 2D Merge. Так схема остаётся читаемой: слева симуляция, справа финальная сборка кадра.
Shape и маски могут помогать particles косвенно. Например, обычная маска ограничивает область, где виден отрендеренный pRender (2D). Картинка или альфа могут использоваться в pImageEmitter как источник частиц. Но сами S-ноды и обычные маски не становятся particle-потоком без соответствующей логики подключения.
С классическим 3D есть отдельная связь: particles могут рендериться с ощущением глубины, камерой и перспективой в зависимости от настроек pRender (2D) и 3D-режима. Но после вывода в обычное изображение они снова становятся 2D-слоем, который нужно аккуратно совместить с остальной композицией по цвету, резкости, зерну и масштабу.
Практический пример
Для эффекта распада логотипа можно взять изображение логотипа, подать его в pImageEmitter, настроить рождение частиц по альфе, добавить pTurbulence для хаотичного разлёта, pDirectionalForce для общего направления, pKill для ограничения лишней области и pRender (2D) для превращения потока в изображение.
После pRender (2D) результат кладётся обычным Merge поверх исходного кадра или поверх подготовленного Background. Далее можно добавить Glow, слегка размыть дальние частицы, подкрасить поток через Color Corrector и ограничить видимость маской, если эффект должен происходить только внутри конкретной зоны.
Такой пример хорошо показывает границу систем: p-ноды отвечают за рождение и поведение частиц, а обычные 2D-ноды отвечают за финальную картинку, цвет, смешивание и вывод.
Output Mode: две разные схемы после pRender
В Output Mode = 2D выход pRender — обычное RGBA-изображение: pEmitter → pTurbulence → pRender (2D) → Glow → Foreground Merge. Исходное видео идёт отдельной веткой в Background Merge. Синий Effect Mask ограничивает видимость 2D-результата и не заменяет Region эмиттера.
В Output Mode = 3D выход pRender — геометрия частиц: pEmitter → pRender (3D) → Merge3D → Renderer3D → Merge. Camera3D и другие объекты подключаются к сцене отдельными ветками. Этот путь сохраняет пространственный контекст до Renderer3D; напрямую в обычный Merge такой выход pRender не подключают.
Стиль задаётся в pEmitter/pImageEmitter и при необходимости меняется pChangeStyle. Bitmap требует корректной картинки и альфы; Point не станет текстурным спрайтом от одного увеличения Blur. Сначала проверьте style и output mode, затем параметры света, камеры и постобработки.
Проверка времени: Pre-Roll не то же самое, что Restart
После прыжка по таймлайну Pre-Roll восстанавливает состояние симуляции от начала диапазона до текущего кадра; Automatic Pre-Roll делает это автоматически. Restart, напротив, сбрасывает накопленные частицы на текущем кадре. Pre-Generate Frames нужен, когда снег или дым должны уже заполнить сцену в первом видимом кадре.
Плотность зависит от темпа рождения и времени жизни вместе. Если pSpawn резко замедляет композицию, проверьте количество дочерних частиц и повторное порождение. Сравнивайте варианты при одинаковом random seed, диапазоне и времени; быстрые пролёты и отскоки проверяйте с Sub-frame Accuracy, а не только увеличением числа частиц.
Какую ноду выбрать?
| Нода / группа | Задача | Что проверить |
|---|---|---|
| pEmitter / pImageEmitter | Рождение и исходный Style | Количество, Lifetime, Region и alpha |
| pTurbulence / pDirectionalForce | Изменение движения | Порядок, время симуляции, seed |
| pChangeStyle / pSpawn | Вид и дочерние частицы | Style отдельно от Output Mode |
| pRender — 2D | Particle stream → image | Pre-Roll и альфа результата |
| pRender — 3D | Particle stream → 3D geometry | Далее Merge3D / Renderer3D |
Три рабочие схемы
Искры поверх видео
pEmitter → pTurbulence → pRender (2D) → Glow → Merge (FG)Обычный image-композит; видео находится на BG Merge.
Снег с первого кадра
pEmitter → pDirectionalForce → pRender (2D)Pre-Generate Frames заполняет старт; Pre-Roll восстанавливает историю после перехода по таймлайну.
Частицы в 3D-сцене
pEmitter → pRender (3D) → Merge3D → Renderer3DCamera3D и объекты входят в Merge3D отдельными ветками; только Renderer3D даёт image.
Рабочая последовательность
- 01
Создать источник через pEmitter или pImageEmitter; настроить Region, Style, рождение и Lifetime.
- 02
Добавить pTurbulence, pDirectionalForce, pFriction и другие нужные операции движения.
- 03
При необходимости добавить pBounce, pKill или pSpawn; несколько потоков объединить pMerge.
- 04
Проверить диапазон симуляции, Pre-Roll и стартовое заполнение через Pre-Generate Frames.
- 05
Выбрать Output Mode pRender: 2D → Merge; 3D → Merge3D → Renderer3D → Merge.
- 06
После получения image согласовать alpha, цвет, резкость и motion blur с исходным видео.
Типичные ошибки
Ждать, что pEmitter сразу покажет полноценную картинку без pRender (2D).
Подключать обычные 2D-ноды внутрь particle-потока и ожидать, что они изменят частицы как пиксели.
Путать pMerge с обычным Merge: pMerge объединяет симуляции, а не слои изображения.
Не ограничивать количество частиц, lifetime и область рождения, из-за чего схема становится тяжёлой без заметной пользы.
Прыгать по таймлайну и оценивать симуляцию без предварительного просчёта с начала участка.
Слишком рано рендерить particles и потом пытаться управлять ими как живой симуляцией уже после pRender (2D).
Не подгонять отрендеренные частицы по резкости, цвету, grain и motion blur к исходному видео.
Оставлять pRender в 3D и ожидать image-выход для обычного Merge.
Продолжить по официальному руководству
Примеры объясняют логику подключений. Точные настройки и доступность инструментов в вашей версии и редакции проверяйте по соответствующему руководству Blackmagic Design.
- Fusion 19 Reference Manual
Типы данных, входы инструментов, маски, частицы и 3D.
- The Visual Effects Guide to DaVinci Resolve 20
Практические композиции, Match Move, Planar Transform и анимация.