Particle Monkey startup

Is there a way to make Particle Monkey start of slower and once the number of particles are reached, then use a different particlesPerEmission to maintain emissions.

Problem, I’m coming across is I want to rain to start up slowly and to get to max particles than maintain the emission based on the life cycle.

Right, now based on #per second, it comes across at start very fast. Just does not feel realistic.

I have a system once the current weather system is complete, it shutdown the particle emitter, by telling it is shutting down and stop producing new particles and once all of them is done. I then shut it down and remove it, allowing next weather system to active like rain, snow or high winds (Visible for extreme, winds), or nothing for normal weather.

Particle Monkey doesn’t allow the programmer much easier to inherit and then override function to do the shutdown process.

I could do this on a variable like “StartUp”, so change number of particles per emission and then go back to normal.

Particle Monkey classes like EmitterShape do have a lot of private fields that make customizing them difficult.
You can however substitute them with your own versions.
I have e.g. a MyEmitterLine copy of EmitterLine with protected fields and a MyEmitterLineLimited that changes the number of particles emitted after x particles.

Further down the line I wouldn’t mind a more elegant solution, but for now that works fine.

1 Like

That is what I did for shutting down the system. I was able to inherit and in the emitter function, I checked if shutting down, if not then call super function to emit the particle. Works great, and didn’t have to make an entire class.

But yes, I agree neither particle system is designed for future expansion. Everything is “PRIVATE” and doesn’t have a “set” class that is protected for inheritance.

Neither was coded for future expansion.

I was just wondering if someone has done this without just completely copying the particle system and making changes. The built in one I had to do that to make it work, but so far with Particle Monkey, managed with inheritance so far and cleaner.

1 Like

Part of this depends on how you want to do it. You could use the Emissions Influencer to handle variable emissions. I believe you can control the “count” of particles emitted over the lifetime of the emitter. This does somewhat force you to have some sort of emitter length though. Even changing the emissions per second to something like value type so it can be animated would probably require some sort of length of time to handle it. Perhaps using some sort of tween animation would be a good fit here.

I’ve been making progress on a stand alone particle editor the last few weeks which is going to require a new version of Particle Monkey so if there is some sort of functionality that you are looking for now would be a good time for that.