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
↓
pRenderSet 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.
