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.
pMerge в контексте
Скриншоты из статьи. Откройте изображение, чтобы рассмотреть его крупнее.
Пример для pMerge.
Оригинальное изображение