[Suggestion] Particle Initial Settings

Discussion and feedback on Construct 2

Post » Sun Jul 21, 2013 2:50 am

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!
B
80
S
52
G
42
Posts: 370
Reputation: 26,330

Post » Sun Jul 21, 2013 3:31 am

I would also love to know about this,I plan on using some particles for weather effects.
GMO FOOD = DEATH
B
23
S
9
G
5
Posts: 567
Reputation: 6,378

Post » Mon Jul 22, 2013 1:00 am

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.
B
10
S
3
Posts: 233
Reputation: 1,537

Post » Mon Jul 22, 2013 3:18 am

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.
B
80
S
52
G
42
Posts: 370
Reputation: 26,330

Post » Mon Jul 22, 2013 7:32 am

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 https://www.scirra.com/manual/135/particles here and see for yourself : )
B
10
S
3
Posts: 233
Reputation: 1,537

Post » Mon Jul 22, 2013 2:31 pm

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.

B
80
S
52
G
42
Posts: 370
Reputation: 26,330

Post » Mon Jul 22, 2013 4:38 pm

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.Xionor2013-07-22 16:39:26
B
10
S
3
Posts: 233
Reputation: 1,537

Post » Fri Nov 14, 2014 9:41 pm

<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!
B
26
S
7
G
1
Posts: 74
Reputation: 2,092

Post » Mon Nov 17, 2014 3:28 pm

Still would love to have this functionality. Based on the response to this thread though, it's probably low on their to-do list.
B
80
S
52
G
42
Posts: 370
Reputation: 26,330


Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 9 guests