Spawn Per Unit
Allows for spawning particles based on the distance the emitter has traveled. Useful for things like sprite based smoke trails where the trail needs to stay cohesive whether traveling quickly or slowly and spawning a relative number of particles to always fill in gaps. It contains the following member(s):
A float value giving the scalar to apply to the distance traveled. The value from SpawnPerUnit is divided by this value to give the actual number of particles per unit.
Spawn Per Unit
A float distribution giving the amount of particles to spawn per unit. The value is retrieved using the EmitterTime.
Ignore Spawn Rate When Moving
If true, process the default spawn rate when not moving. When the emitter is moving, skip processing the default spawn rate. If false, return the Process Spawn Rate setting.
A float value giving the tolerance for moving vs. not moving w.r.t. the Ignore Spawn Rate When Moving flag, i.e. if (
DistanceMoved < (UnitScalar * MovementTolerance)), then consider it not moving.
Max Frame Distance
The maximum movement for a single frame. If the particle moves beyond this distance over a single frame, no particles are emitted. If left at 0, this check will not be performed. This is useful for handling teleporting objects.
Ignore Movement Along X
If true, the X-component of the movement is ignored.
Ignore Movement Along Y
If true, the Y-component of the movement is ignored.
Ignore Movement Along Z
If true, the Z-component of the movement is ignored.
Process Spawn Rate
A Boolean that indicates whether the SpawnRate of the RequiredModule should be processed or not. In the event of stacked spawn modules (multiple spawn modules on the same particle emitter), if ANY module indicates the 'default' spawn rate should not be processed, it will not be processed.
Process Burst List
If true, the BurstList of the SpawnModule of the emitter will be processed. If multiple Spawn modules are 'stacked' in an emitter, if ANY of them have this set to false, it will not process the SpawnModule BurstList.
Using this module when spawning from other emitters may seem to not behave as expected when trying to spawn particles from a single lead particle.
SpawnPerUnit actually uses the movement delta of the particle system itself and as such, does not understand what work to do when it is attached to submitters inside the particle system. Even though its parents are moving through space, the actual whole system is still stationary, so the SpawnPerUnit module does nothing.