I love the smell of UnrealEd crashing in the morning. – tarquin
The Emitter class is Epic's particle emitter system (the other system is the xEmitter). These can be placed in maps for a large variety of effects (waterfall, fog, smoke, sparks); they are also used by scripted elements such as the Redeemer explosion, the swirly lights over weapon bases, and the Ion Cannon explosion and beam.
Remember to set bNoDelete=False if you want to create a spawnable subclass.
- array<ParticleEmitter> Emitters
It is possible to add an object to this array using unrealscript. Emitters is a regular dynamic array of ParticleEmitters. Whether the new ParticleEmitters will work is untested.
Using the same ParticleEmitter object within another Emitter means you get the same properties – but only half the particles for each Emitter. The maximum number of particles is being shared out between them. The velocity goes weird too.
- bool AutoDestroy
- If this is set to true, the emitter will destroy itself when all the particles of its emitters have died.
- bool AutoReset
- If this is set to true, the emitter will reset itself and all its emitters when all the particles of its emitters have died.
- bool DisableFogging
- Distance fog will have no effect on particles.
- rangevector GlobalOffsetRange
- range TimeTillResetRange
- If AutoReset is true, this is the time delay range for resetting.
- bool ActorForcesEnabled
- box BoundingBox
- bool DeleteParticleEmitters
- float EmitterHeight
- float EmitterRadius
- vector GlobalOffset
- int Initialized
- ParticleMaterial ParticleMaterial
- float TimeTillReset
- bool UseParticleProjectors
- MutantGlow (Epic Bonuspack)
- PlayerSpawnEffect (actually this is the pickup respawn effect)
- Spiral (the sparkly things over xPickUpBases)
- Particle System
- ParticleEmitter Cookbook
Foxpaw: Apparently if you get too many particles, the game exits without any error messages or anything - just drops back to windows. At first I thought it was my crappy video card overheating or something, but then I found that it was actually a result of a particle system I had made. (actually, a particle system composed of a pile of other particle systems.)
EricBlade: I just discovered that Emitters.MaxActiveParticles *= 1.2 will crash. Anything between 0.0 and 1.19 seems to work, 1.2 or higher is a crash. Unfortunatly, this only seems to affect placed in level Emitters, and not dynamically Spawn()ed emitters. And the MaxParticles is a const, so no access to that one from the code. :-S
MythOpus: Using an animated texture with an emitter also crashes UnrealEd.