What features would you want a Particle System to have?

Started by
10 comments, last by CJM 18 years, 5 months ago
What features would you want a Particle System to have? I'll start off like this, -Position (duh) -Velocity (duh) -Size -Color, for each particle one color when it's spawned and another at the end of it's life. Interpolate between these 2 based on (ParticleLifeLeft / ParticleInitialLife) -Acceleration, Gravity and wind -Life, a particle fades out as it reaches the end of it's life -Direction, what direction does a new particle spawn with -Direction Variance, when spawning a particle, add ((rnd * DV)-(DV/2)) to it's direction What else would you want a particle system to have?
Advertisement
rotation? [perhaps I even want my particle to rotate faster/slower over time]

what if I want to fade between more than two colors?
All the stuff in this would be nice :) Or failing that have a look at the particle systems in Max and Maya and recreate as much of that as you can. As a side question (or two) does anyone know the pricing on that Particle system, and are there any other systems out there at all, open source even?
what about:

spawn volumes (point, sphere, cube, etc)

and..

particle affectors - attract or repel particles using some kind of weighted gravity

I'm sure I could think of more but those are good to go with, particularly the first one, its nice to be able to change the shape of the volume that paricles are spawned from rather than just a boring old single point.
Occlusion
lod?
alpha-images on the particles
a limmit on the particles(both on a render basis and on a emiter basis) and what to do when that limmit is reached.
forcefield(or whatever it is called) as a particle effector.
ability to replace the particle with a mesh
collision detection
Get the max payne 2 particle editor and add everything from that,
plus the doom3 particle editor multi-poly particles.

These are editors of course, but they show you all the features
a system can have.







Thanks guys...
Pathing through some kind of waypoint system, like move it to xyz in either a line or arc motion(an arc radius to follow as well). I know things like that are easy enought to code on the fly, but a function built into the system would make it easier yet.
One thing I've always wanted from particle systems I've used was an HSV representation for color instead or RGB (you still have to convert to RGB to render, of course). See, there's almost no reason you'd want to be varying R,G and B components separately... the hue you get varies in ugly clashy ways. You pretty much just end up leaving RGB alone and play with the alpha.

HSV is much more intuitive and gives you better flexibility with the way you actually want your particles' colors to evolve over their lifetime.
If you make an editor or something, here's a tip: for every setting (things like opacity, rotation, speed) make two sliders, a HIGH and a LOW. Then at run time randomly choose a value in the specified range. You can make your particle systems cooler that way, and tweak them with less code.

You also might want to consider a 'creation delay' setting, where the particle is idle (inactive) for a specified time, say 0.5-1.0 seconds, before spawning. You can use that for special effects and/or things like fountains where you want a continuous stream from the get-go.

This topic is closed to new replies.

Advertisement