We have developed a particle system for our engine, but before we started to develop the particulate system we had to add different engine functionalities like the billboard and transparencies
You can add a component Billboard to any GameObject.
Once the component is added you can choose between one of the following alignments:
Objects follows camera rotation.
Objects look towards the camera.
Objects look towards the camera, but user can lock one of the axis.
When it comes to particles, the transparencies is something mandatory, we can't only have squared particles!
To do this we had to change not only our texture importer but also the renderer.
The problem of seein throungh objects is that objects behind a transparent one won't draw unless is is drawn before the transparent one. In order to fix this problem we order all objects with transparencies just before draw, from far to near of the camera
Particles spawn inside a box and always go in the Up vector of the GameObject
You can change the size of the box.
Particles can either spawn inside a sphere (in the center or in a random position inside the sphere) or in the border of the sphere. You can select the size of the sphere
Particles spawn in the position of the GameObject and the direction of the particle is inside a cone. You can change the size of the base of the cone.
Normal Color
Paint your particles with one simple color (RGBA)
This particle will always be the same color.
Color over time
Paint your particles with as many colors as you want!
You can decide the transition times between colors to make beatiful
and colorful.
You can also edit the shape of the burst, following the same burst shapes previously mentioned.
You can select any loaded texture to be the particle texture, once loaded all particles from this emitter will have this texture. You can change or remove the texture any time.
The texture can be used as a animated sprite, you just have to select the number or rows and columns and click the Calc Animation button.
You can also edit the animation speed, being 0 the fastest.
If you want the particles to die when the animation ends, you have only to check the option kill partile with animation. The particle will live until the animation ends, neither before nor after.
You can only have one texture per emitter.
You can add a SubEmitter to a Emitter, by doing so all particles will spawn new particles when they die.
Once you click on the SubEmitter option a new particle system will be created in you hierarchy menu (inside the current GameObject). You can edit the SubEmitter options from the new GameObject.