Replies: 2 comments 3 replies
-
I have to remind you that we have a Code of Conduct. Please stay constructive. |
Beta Was this translation helpful? Give feedback.
1 reply
-
Isn't GPUParticle3D's emit_particle the exact thing you need? |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
The one shot option is not a good way to spawn a particle effect once. There needs to just be a function I can call that makes the particles spawn once from the place the player is when it spawns, or while following the object. Currently everyone online just says they're rolling their own systems to copy their particles, set emitting to true for a small amount of time with a timer, and then delete it. I already have control over every other aspect of how the particles behave. Granular control over how they spawn seems like a given.
I can't spawn them attached to an object unless I have explosiveness set to 1 or they continue spawning from the current location of the object, not where it was when the particle effect started, and there's no way to override this that I can find.
But when I want a particle effect to trail an object, say little energy globules floating in the wake of a big laser beam, it's almost impossible to make it do what I want, I have to hack it with invisible subemitters on trails affected by gravity.
I want:
particle Effect Name.drawOnce()
and it draws the particles without moving the particle effect origin point while it emits. and then it stops. And I can call it more than once and it won't fail or delete old particles.
and then I'm not sure what the other names would be, but a function that spawns the particles at the moving objects current point, but the particles don't move with it, and one where the particles DO move with the object.
Even if I were okay with these limitations (I'm not) Consider the simple act of spawning a particle effect when the player shoots.
If the player can shoot again before that particle effect is done it will end the lingering particle effect to replay it in it's new location.
If I want a cloud of particles every time my player shoots I have to create an array of clones of my particle animation and load them all in and cycle through which one I play, a solution in all my years in gaming I have never heard of a game shipping with.
I should not have to roll my own cloning, playing, stopping, loading, and unloading system for every one shot particle effect.
I would make it a feature request and do it myself but I'm brand new to godot and know nothing of the backend yet, and I've never even used c++, I'm a Java gal, I know I know.
There is already a discussion that is vaguely related but but everyone was just talking past eachother saying it's literally impossible it's not literally impossible it's extremely simple I have already hacked around it but I will have to hack around it every single time and clutter my global script with particles.
Edit: Someone pointed out the Emit Particle function so I'll make my issue clear here: Yes you can do this with one particle but that's not practical when I'm trying to create many effects with 100s and 1000s of particles each. I also clarified some things and made my post a little nicer and more concise.
Beta Was this translation helpful? Give feedback.
All reactions