The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall
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.
Vaptor: i found theres 1 exception Firetextures/WetTextures they seem to work no crashes.
However Editor sometimes will corrupt the new texture package when you try to save a firetexture.
how it was corrupted is the worst part the data looks fine but crashes when it tries loading.
Murphy: Animated textures work on emitters in UT2004. I don't know since which engine version, but I used a two-frame animated texture in an emitter without problems (v3369) and it works in Killing Floor, too. Just to let everyone know so no one shies away from using this because they read on unreal wiki that it crashes unrealed. :)