More options on Particles2D node #4489
Replies: 1 comment
-
The amount of particles that can be present at a given time is fixed for performance reasons. Unfortunately, this is incompatible with allowing particle lifetime and emission rate to be changed independently from each other.
This can be implemented using manual emission in 4.0. Emission over distance could be provided as a built-in feature, but there needs to be significant community demand as the built-in ParticlesMaterial in 4.0 is already pretty complex.
This is expected for the same reason I mentioned above. The number of particles that can be emitted is fixed, so keeping the same emission rate would mean some particles are never displayed. If the number of particles was automatically changed when you adjust the Explosiveness property, this would result in the particle system resetting when its explosiveness changes.
Implementing gizmos for emission shape visualization is a good idea, but the 2D editor doesn't have a way to individually disable gizmos (unlike the 3D editor). This can be an annoyance when working on a 2D particle system and you don't want the preview gizmos to get in the way.
Changing particle properties depending on velocity is quite subjective to implement. There's no "one size fits all" way to do it, so I think it's best left to a custom shader.
Particle randomness was changed to use min-max ranges for every property in 4.0. This is more intuitive and flexible.
Random initial color is available in 3.5beta and 4.0alpha thanks to godotengine/godot#55263.
This is being implemented in godotengine/godot#55387 🙂
This is being tracked in godotengine/godot#17903.
See #4449. It should be relatively easy to implement this by affecting the engine time scale (which would also impact shaders using |
Beta Was this translation helpful? Give feedback.
-
Particles2D node have been the causing me lots of frustration lately, so I'll list my thought on it:
I really don't understand why particle lifetime and emission is tied at all
should't we have different values for particle lifetime, total particle count, cycle particle count and emission interval
I think having a emission over distance would be really nice too
not only is explosiveness quite confusing it messes with timings of the emission
being unable to see the emission shape makes it harder to make particles
some of the values can't have randomness(eg: gravity) and some of the randomness values don't really make sense
having a weird float called "randomness" instead of having ranges for velocity and stuff is really strange
I think having color over velocity or something like that would be really nice not only for color but a lot of values we can tweak
I am not really sure why hue variation isn't a gradient but a float
there is no way to have control over the gradient curve and I usually need to emulate having a curve with multiple points
there is no noise option for particle movement
one shot actually disables emitting variable in the editor? so we can't have play at start and one shot without attaching a script
we can't stop, pause and resume the Particles2D node in the editor
I checked godot 4 features and the alpha release but unfortunantly I don't think any of these issues have been addressed.
maybe some of these are personal taste but I am certain there are a lot of features missing in Particles2D node
I know I can probably make all of these with the emit() function in godot 4 or writing particle shaders myself but I would really appreciate if godot had a better support for particles
Beta Was this translation helpful? Give feedback.
All reactions