Note that there are some explanatory texts on larger screens.

plurals
  1. POParticle System Design?
    text
    copied!<p>I'm designing my own particle System engine, this is for learning purposes, I don't really want to use an existing engine.</p> <p>Right now I generated beautiful particles, but I want to layout the engine to make it easier to work with them.</p> <p>I have been thinking on a Class "Particle System",</p> <p>that class would contain the following references:</p> <p><strong>particlesList</strong>: A list of the particles that compose the system.</p> <p><strong>systemEmitter</strong>: The system emitter for the particles, the Emitter class should be able to perform several particle emission techniques, like for example, emitting from lines, points, randomly emitting from a polygon. Also this class should do Emission Controlling, like emitting towards a point, away from a point, in a direction and time to emit.</p> <p><strong>particleController</strong>: Manages for example rotation around a point, variable particle sizes, variable particle colors, areas around the system to which the particles react in different ways, collision detection ( with other objects or within the particles if becomes necesary ).</p> <p><strong>Particle Renderer</strong>: In charge of drawing this system , Variable Blending types, particle textures, particle types like triangles, circles, custom...</p> <p>This four items , would compose the particle system Class. Some FX may require more than one particle system, for example a Fire FX, could use one system for the fire, one system for smoke and one system for sparks.</p> <p>This is what I have in my mind, but I would really love to know if this design approach is good, or if you see I'm missing something or could/should do something different. I haven't thought about some easy way to "save" FX, like for example what would be the best way to tell my engine, "draw Fire", "draw explosion" , "draw fountain", etc, maybe storing FX information in xml files would be a good idea, etc..</p> <p>Opinions are really welcome, and as I stated before, I really want to build this, instead of using another engine, for learning reasons.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload