Particle Editor

Tool

Throughout the 2nd year I have, in our group project, been responsible for the particle systems on the programming side. In our first project we exported the particle systems from our level editor, Unity.
It was hard for our Technical Artists to create the systems because they didn’t completely looked like they did in Unity.

To get rid of this problem I did this in engine particle editor. It has since then been a work in progress, where I would update the Particle System in the engine and then expose it to Editor to support whatever our Technical Artists or Artists (the guys in charge of creating the vfx) wished for.

They editor started out with exposing the settings we already exported from Unity, Color Over Life, Velocity Over Life, Size Over Life, and Shape of the emitter where we have point, sphere and box emitters.

Multiple Emitter on Particle Systems

The biggest difference from what we had from Unity was the wish for being able to have more emitter on one system, this was and explosion particle systems could consist of a fire emitter and smoke emitter.

Attaching emitter settings

I restructured the systems behind so it was easier to add new settings. The person creating the particle systems, can choose from a list what setting they want to attach to the system, like they way it is in Unreal, this way everything is not exposed at once and don’t become overwhelming to look at.

Required Settings

The required setting is the only setting you can not remove form the emitters. This is the bare minimum for the particle emitters to work. So when you create a new particle emitter the required setting will all ready be attatched. 

Shape

I restructured the systems behind so it was easier to add new settings. The person creating the particle systems, can choose from a list what setting they want to attach to the system, like they way it is in Unreal, this way everything is not exposed at once and don’t become overwhelming to look at.

Next step

I’m going to give the option to create a particle system that uses compute shader. At the moment all update of the particles is done on the CPU. But for static world particle systems I would like to give the option for using the GPU so we are able to have more particles.