Aller au contenu

pMerge Node

By Kriss Norde

pMerge combines two particle streams into a single flow. Key feature: it preserves the Sets assigned to the particles (1-32), so downstream forces can act selectively. Essential as soon as you have several pEmitters to combine before the pRender.

Overview

pMerge is the particle equivalent of Merge 2D. It takes 2 particle streams as input and combines them into a single stream that can then be processed by forces or rendered by pRender.

Unlike a classic Merge 2D, this node has no parameters to set - just connect the two inputs and the resulting stream holds every particle from both sources, each keeping its original properties (Set, Style, Lifespan).

Where to find this node

  • Effects Library: Tools > Particles > pMerge
  • Quick add: right-click in the Node Editor → Add Tool > Particles > pMerge

pMerge vs sMerge vs Merge 2D

pMerge (this node)
Combines particle streams. Only usable in a particle flow (between pEmitter and pRender).
sMerge
Combines vector shapes. Only usable in a Shape flow (between shape nodes and sRender).
Merge 2D
Combines 2D bitmap images. The generic compositing merge, with Apply Modes and Operators.

Rule: each system has its own dedicated merge. They are not interchangeable - input type = merge type.

Inputs

  • Input 1 (orange) - first particle stream.
  • Input 2 (green) - second particle stream.

Both inputs accept particle outputs only. No 2D images or shapes - the connection is refused.

Setup

Smoke + sparks combined:
pEmitter_smoke (Set 1, smoke sprite) →┐
                                       pMerge → pTurbulence → pRender
pEmitter_sparks (Set 2, spark sprite) →┘
                                 (both streams mix,
                                  pTurbulence applies to all)

Selective force after the merge:
pEmitter_A (Set 1) →┐
                    pMerge → pDirectionalForce (Condition = Set 1)
pEmitter_B (Set 2) →┘        → pRender
                 (gravity applied to Set 1 only,
                  Set 2 floats freely)

Multi-merge chain:
pEmitter_1 → pMerge_1 ← pEmitter_2
             ↓
           pMerge_2 ← pEmitter_3
             ↓
           pRender

Set preservation (the key feature)

Each particle emitted by a pEmitter can be assigned to a numbered Set (1 to 32) in the pEmitter Sets tab.

pMerge does not mix these Sets - each particle keeps its original Set. Downstream forces can then target specific Sets through their Conditions tab.

Example: 2 merged pEmitters, pEmitter_A on Set 1 (smoke), pEmitter_B on Set 2 (sparks). After pMerge:

  • pTurbulence with Conditions = Set 1 only → only the smoke is disturbed.
  • pDirectionalForce (gravity) with Conditions = Set 2 → only the sparks fall.
  • pRender displays both together with their respective behaviors.

Use cases

  • Multi-source particle compositing - several pEmitters with different styles (smoke, fire, sparks) combined into a single render.
  • Explosion with debris + smoke - a debris pEmitter (Set 1, heavy gravity) + a smoke pEmitter (Set 2, rising with turbulence) + pMerge = a complete explosion scene.
  • A crowd with distinct characters - several pEmitters with different sprites (men, women, children), pMerge combines them for a grouped render.
  • Rain + fog - a rain pEmitter (Set 1) + an ambient fog pEmitter (Set 2) = a complete weather atmosphere.
  • Multicolor fireworks - 3-4 pEmitters with different colors, each with its own Set, combined → a multicolor fireworks effect.
  • Managing a complex pipeline - beyond 3 pEmitters, stack several pMerge nodes in a binary tree to keep the graph readable.

Tips

  • Assign Sets right in the pEmitter - the pEmitter Sets tab, number 1-32. Without a Set, you cannot target selectively downstream.
  • No parameters to set - pMerge is a pure utility. If you are looking for options, they live on the upstream pEmitters or the downstream forces.
  • Chain for 3+ sources - pMerge has 2 inputs. To combine 3 streams, stack 2 pMerge nodes (the first combines A+B, the second combines the result + C).
  • Forces after pMerge for a global effect - forces placed downstream of pMerge = every particle from every stream is affected. Before pMerge = each stream gets its own specific forces.
  • Rename your pEmitters - in a comp with 5+ pEmitters, renaming each one (pEmitter_Smoke, pEmitter_Sparks...) makes the graph much easier to read.
  • Performance - pMerge adds no cost. The cost comes from the total number of particles (the sum of each pEmitter's Number).
  • For a hybrid particles + 2D system, first render the pMerge through pRender, then combine it with other 2D elements using a classic Merge 2D.