ВИДЕОМОНТАЖЁРDAVINCI RESOLVE · ВИДЕО · AI

FUSION · СПРАВОЧНИК НОД

pMerge

pMerge / Слияние двух particle-потоков

pMerge объединяет ровно два particle-stream в один общий поток. У ноды нет собственных controls: два равноправных particle-входа принимают только particle data, ранее назначенные Sets сохраняются, а downstream particle-ноды воспринимают результат как одну систему.

ЧастицыНовичок

pMerge

Обзор

Что делает pMerge

pMerge нужна в тот момент, когда две независимые particle-ветки должны продолжить работу как один particle-stream. Blackmagic прямо описывает её как узел, который объединяет particles from two streams; все particle-ноды downstream затем воспринимают эти два потока как один.

Самая важная поправка к старому описанию: одна pMerge не является произвольным multi-input collector. У неё ровно два одинаковых по смыслу particle-входа. Первый connector оранжевый, второй зелёный, но это не Background/Foreground и не A-over-B: оба входа принимают particle data и выполняют одну и ту же роль.

Оба входа принимают только output других particle-нод. Типичные источники — pEmitter, pImageEmitter, pChangeStyle, pTurbulence, pFriction, pBounce или output предыдущей pMerge. Обычный MediaIn, Background, Text+ или RGBA image к этим sockets не относится.

pMerge не превращает particle-stream в изображение. Её output остаётся Particles. Для видимого результата поток обычно идёт в pRender; уже pRender определяет, выводить ли систему как 2D image или как 3D geometry для дальнейшей 3D-сцены.

Если pRender работает в 2D Output Mode, только после него появляется обычная image-ветка, которую можно подать в Merge, Glow, Color Corrector и MediaOut. Поэтому normal Merge и pMerge находятся по разные стороны data-boundary: pMerge соединяет particle data, Merge соединяет изображения.

Если pRender работает в 3D Output Mode, его output предназначен для 3D-пайплайна и обычно идёт в Merge3D/Renderer3D. pMerge от этого не меняется: до pRender она всё равно объединяет particle streams, а не 3D geometry и не pixels.

Inspector у pMerge намеренно почти пустой: Blackmagic формулирует это как no controls whatsoever. Это не недогруженная панель и не признак сломанной ноды. У pMerge нет собственного Number, Blend, Strength, Conditions, Region или параметра количества входов.

Отсутствие controls означает, что поведение системы настраивается вокруг pMerge. Сколько частиц рождается — решают emitters, как они двигаются — force/modifier-ноды, какой у них стиль — Style/pChangeStyle, а как система превращается в 2D/3D output — pRender.

Документация отдельно подчёркивает, что ранее назначенные particle Sets сохраняются после pMerge. Это критично: после объединения downstream-нода всё ещё может изолировать только Set 1, Set 2 и т.д., если membership был задан upstream.

pMerge сама не создаёт Sets и не переназначает их. Если нужно, чтобы искры и дым после объединения реагировали по-разному, присвойте им разные Sets до pMerge, а в последующих particle-нодах используйте Conditions/Set filtering.

Для трёх потоков нужна каскадная схема: A + B → pMerge1, затем pMerge1 + C → pMerge2. Для четвёртого добавляется следующий stage. Это штатная структура, потому что у каждой pMerge остаётся ровно два particle-входа.

Каскад pMerge не требует никаких специальных настроек: output предыдущей pMerge является обычным particle-stream и подходит в любой из двух inputs следующей pMerge. Важнее всего подписывать узлы и ветки, чтобы граф оставался читаемым.

Порядок двух входов не является foreground/background order. Для базовой логики pMerge Particle 1 и Particle 2 равноправны: нода не выполняет pixel over, additive blend или z-order compositing. Connector color здесь идентифицирует socket, а не визуальный приоритет.

pMerge не является оптимизатором количества частиц. Downstream-система получает combined stream, поэтому тяжёлая ветка A плюс тяжёлая ветка B остаются общей нагрузкой для последующих particle calculations и rendering. Если сцена медленная, уменьшайте стоимость в emitters и modifiers, а не ищите performance slider внутри pMerge.

Размещайте pMerge там, где поведение веток действительно становится общим. Если A и B должны иметь разные turbulence/drag/collision, обработайте их отдельно и объедините позже. Если общий force должен действовать на обе ветки одинаково, объедините раньше и поставьте force downstream.

Сохранение Sets позволяет объединять рано, не теряя полностью возможность выборочной обработки. Но Sets нужно спроектировать заранее; pMerge не умеет автоматически понять, какая ветка была 'дымом', а какая 'искрами', если вы сами не оставили различимый Set membership upstream.

pMerge не имеет Effect Mask, Region input или Bitmap input. Пространственные ограничения относятся к конкретным particle modifiers, которые поддерживают Conditions/Region. Не переносите универсальную модель обычных 2D-effect nodes на pMerge.

В сложном Flow полезно воспринимать pMerge как typed junction: входы и выход находятся в particle-domain. До тех пор, пока stream не проходит через pRender, обычные image-tools не должны появляться в этой линии данных.

При диагностике сначала соберите минимальный граф pEmitter A + pEmitter B → pMerge → pRender. Если он работает, добавляйте modifiers по одному. Так легко отделить ошибку маршрутизации от проблем emitter settings, Sets, force или render mode.

Текущий Fusion 21 по-прежнему включает pMerge как штатный particle tool. Базовый контракт двух inputs/no controls/set preservation стабильно описан в официальной particle reference; live-проверка конкретной сборки Resolve остаётся отдельным финальным шагом для UI-деталей.

Когда применять

  • Объединить два pEmitter перед одним pRender.

  • Собрать pEmitter и pImageEmitter в одну downstream particle-систему.

  • Объединить две по-разному обработанные particle-ветки перед общей силой или collision-логикой.

  • Сохранить разные upstream Sets, но дальше вести частицы через одну общую ветку.

  • Собрать три и больше streams каскадом из нескольких pMerge.

  • Сократить количество параллельных downstream modifier-цепочек, когда поведение уже должно быть общим.

  • Организовать читаемую точку сборки перед pRender.