Overview
pSpawn turns a simple particle into a secondary emitter. Each particle of the input stream can generate its own N particles, which become autonomous particles added to the system.
It is the node behind "fireworks" effects: a particle rises (the rocket), then through pSpawn it bursts into N particles (the sparks). Classic chain emission in VFX.
Where to find this node
- Effects Library:
Tools > Particles > pSpawn - Quick add: right-click in the Node Editor →
Add Tool > Particles > pSpawn
Inputs
- Particle Input (orange) - the stream of "parent" particles that will spawn.
- Style Bitmap - optional. A 2D image (256×256 recommended) used as the texture for the spawned particles.
- Region Input - optional. A 2D bitmap or 3D mesh to restrict spawning to a specific area.
Setup
Fireworks:
pEmitter (rocket, Velocity Y +0.1) → pSpawn (Number 20, at Start Age 0.8)
→ pRender
(the rocket rises and bursts into 20 sparks at 80% of its age)
Continuous rocket trail:
pEmitter (missile, short Lifespan) → pSpawn (Number 2 per frame)
→ pRender
(a smoke trail coming out behind the missile)
Multi-level cascades (risky):
pEmitter → pSpawn (Number 5, Affect Spawned = ON) → pRender
(each spawn can itself spawn → an exponential particle explosion)Key parameters
- Number (particles generated per source particle)
- Number of particles spawned by each source particle, per frame.
- Velocity Transfer (default: 1.0 - 100%)
- Percentage of the source particle's velocity passed on to the spawns. 1.0 = the spawns inherit all the velocity. 0.0 = spawns at rest, with only their own velocity. 0.5 = half inheritance, natural.
- Affect Spawned Particles (default: off - recommended)
- When on, spawned particles can spawn in turn. WARNING: an exponential cascade, render times can explode. Use it sparingly.
- Start / End Age
- Age range of the source particle during which it spawns. E.g. Start 0.9, End 1.0 = spawning only at the end of its life (classic fireworks bursting when the rocket dies).
- Probability
- Probability that each source particle spawns. 1.0 = all of them, 0.1 = 10% spawn.
- Style tab
- Look of the spawned particles (like a secondary pEmitter). It can be radically different from the source stream.
- Velocity
- The spawned particles' own velocity (added to the inheritance if Velocity Transfer > 0).
- Lifespan
- Lifetime of the spawned particles, independent of the parent.
Performance warning: exponential explosion
pSpawn can blow up the computation load very quickly. Example: a pEmitter with 100 particles + pSpawn Number 20 per frame =
- Frame 1: 100 particles, N of which start spawning.
- Frame 10: could reach 5,000+ particles.
- With Affect Spawned on: spawns that spawn spawns that spawn = an exponential explosion.
Safety rules:
- Leave Affect Spawned = OFF by default.
- Use Start/End Age to spawn only at the end of life (a single burst, not continuous).
- Probability < 1.0 for partial spawning.
- Combine with pKill downstream to limit the total number alive.
Use cases
- Fireworks - a single rising rocket particle, pSpawn Start Age 0.9 (burst at the end of its life) = N sparks flying out radially.
- Rocket trail - a missile with pSpawn Number 2 per frame = a continuous trail of smoke/particles coming out behind it.
- Rocket sparks - a main particle (flame) + pSpawn with a spark Style Bitmap = a rocket leaving sparks behind.
- Fire tendrils - fire particles + pSpawn with Affect Spawned ON (careful!) + a low Number = organic branching.
- Falling dust - a falling meteorite + pSpawn with gravity applied to the spawns = a trail falling back behind the object.
- Multi-stage explosion - a first explosion + pSpawn on the debris with Start Age 0.5 = secondary explosions on some of the main debris.
Tips
- Affect Spawned OFF by default - only turn it on with a real understanding of the performance consequences.
- Start Age 0.9 for an end-of-life burst - the classic fireworks pattern. The rocket lives its lifespan and bursts just before dying.
- Velocity Transfer 0.3-0.5 for a natural look - the spawns inherit part of the parent's velocity + have their own velocity. 1.0 = spawns moving exactly like the parent (less believable).
- A short Lifespan for spawns - spawns do not need to live long. A short Lifespan = a limited load.
- pKill downstream for mandatory cleanup - keeps the total number of live particles within a reasonable limit.
- Monitor the particle count - the Fusion interface can display the count. If it explodes, revisit the parameters immediately.
- For truly complex simulations (an explosion with debris that explodes in turn), consider Houdini, which handles this natively with fine control.
