0 Favourites

[Suggestion] Particle Initial Settings

  • I've been using particles for FX and there are some additional settings that would make life much easier and particles look a lot better.

    1) Randomize the initial particle opacity

    2) Randomize the initial particle angle

    3) Randomize the timeout per particle. So all the particles don't fade out at the same time. Looks especially bad if you use one-shot.

    4) Timeout to destroy the particle emitter without destroying whatever particles are still on screen. Every particle emitter I make, I need to make the events: For each particle emitter, if number of particles = 0 -> destroy.

    If there's already a way to do these things, please let me know.

    Thanks!

  • Construct 3

    Buy Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Buy Now Construct 3 users don't see these ads
  • I would also love to know about this,I plan on using some particles for weather effects.

  • 1) On layout Start(or any desirable event) set initial opacity to random()

    2) On layout Start(or any desirable event) set spray cone to random() (i assume you mean the spray cone)

    3) Make a few different particle objects and give them different random() timeouts on the particle creation. For example 5 particle objects give you particles with 5 different random timeouts.

    4) Simply stop the spray when you think you're done, and destroy it when no particles are on the screen anymore. This is done by using Set Rate to 0.

  • Thanks for the workarounds.

    1) Sort of works but not really as expected. The initial opacity is changed, but they all fade to 0 at the same time. Meaning that a particle that has an opacity of 50 and one with an opacity at 100 fades to 0 in the same frame. Looks very unnatural.

    2) Angle of the particle, not spray cone.

    3) That works, though it's not very optimization friendly and gets messy with bigger projects, which is what I'm trying to avoid. If you have 5 particle objects and decide to change a few settings, you would have to change them on all particles.

    4) Yup, I can destroy the particle emitter when there are no more particles. However, again, in a big project with lots of FX, this creates a lot of events. Seems like a "destroy emitter on timeout" property would speed up workflow.

  • 1) You asked about having different Opacity on creation(initial opacity). You're however disciribing the timeout setting. Is that what you mean?

    2) Spray cone is essentially the angle. However if i'm still understanding you wrong, then there's 2 other settings that help you randomlize the angle - Angle randomizer in Lifetime settings and X and Y randomization in the Initial.

    3) There's almost no performance difference between using 1 Object with a Spray Rate of 50(particles per second) or 5 objects with a Spray Rate of 10. If you want to change common settings for particles, group them up in Families. You can change the settings for the whole family at the same time!

    4) No it doesn't create extra events. It's extremely simple.

    -> On (Desired Condition) Set Rate to 0.

    -> When no particles on screen > Destroy Particle object.

    I recommend you learn how to group events and use families, it will make it extremely easy for you to handle projects with lots of events.

    That is perhaps the biggest challange for many indie game devs - staying organized.

    Also the Particle object really already does all you're requesting.

    I suggest you read up scirra.com/manual/135/particles here and see for yourself : )

  • 1) Yes, I asked about initial opacity randomization. I was simply stating that when you set the initial opacity, they still timeout at the same time which is not what I would expect. This results in an unnatural looking particle system which is why I had also asked about randomizing the per particle timeout in my original post.

    2) Spray cone is the emission angle. I would like settings to change the individual particle angle (the sprite), not the emitter.

    3) Object count is a performance hit. Quoting the manual "Avoid using too many objects or particle effects..." Having a simple randomization setting would avoid more objects and keep the project cleaner.

    4) You just created 2 events. So yes that's extra events rather than having a simple setting to delete the particle emitter.

    I do have the ability to handle all of it in script. I can set up events, groups and families to manage everything. Yes I know about those too. I'm just making some very simple suggestions to make the workflow easier and make particles more robust.

  • I just noticed the optic was titled [Suggestion] : P

    I thought you needed help with making that in-game.

    They're good suggestions if the team has time to implement them, but otherwise you can do all of these things already in Construct, very easy with very few events.

  • <BUMP>

    I reached this old thread because as UberLou I want to set the particle angle (the sprite, not the emission angle)

    As Xionor says, its easy to do the particle stuff yourself, but since we already have the particle object...I guess that implementing things like particle sprite angle, acceleration, and randomizing of both parameters and such would be trivial to implement, right? (As well as the rest of stuff OP suggests)

    This little things would really improve the particle object!

  • Still would love to have this functionality. Based on the response to this thread though, it's probably low on their to-do list.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)
Similar Topics Posts Views Last Post
Unread hot topic
0 Favourites
random bugs and suggestions
90 4,514
Tom's avatar
Tom Construct Team Founder
Unread hot topic
73 5,920
part12studios's avatar
part12studios
Unread hot topic
56 4,727
MPPlantOfficial's avatar
MPPlantOfficial