Godot Version
4.3
Question
Working on a small game where you control a 2D spaceship, I have a GPUParticle2D I use for the thrust particles, which works well but I’ve run into an issue where the particles emitted don’t inherit the ships velocity.
Video demonstration:
There is a parameter called “inherit_velocity_ratio” in the particle2D but it seems to do nothing for me.
Hi,
Not sure if that’s what you’re looking for, but have you tried checking Local Coords inside the Drawing group?
Sadly not what i’m looking for. Though the particles technically “inherit the velocity”, it no longer maintains global positioning.
I appreciate the help regardless though!
Yep, my bad, I figured out what was your actual problem (I think).
I think I got a pretty good looking result (I mean, not the VFX itself, but the motion
) by setting the initial velocity and spread property, and playing around with node’s rotation (I tried with rotating both a parent node and the particles, and either way work fine).

I don’t know how your particles are set up in the ship nodes, but maybe you can find a way of using the node’s rotation to make the particles spawn in the correct angle?
Quite a Hiatus from my last post but I took a break from fixing this problem because it was giving me a headache. I’ve decided to come back to it with a fresh mind and have found progress but a new issue arises.
(Also to address your solution, you basically have the same system I had at the time, your solution doesn’t really address the issue as the issue stems from the particles not inheriting the velocity of the emitter)
Now the particles do inherit the velocity via inherit_velocity_ratio = 1.0
, however there’s a bug where it seems the emission point of the particles seems to move and stretch out?(for context it is just supposed to be a point emitter)
I also tried to make a custom particle shader, but using EMITTER_VELOCITY
to inherit the velocity within the shader script has the exact same issue.
Demonstration of the issue:
I should add, from my research I have found some people who have this same issue as well, and it might stem from desync in particle processing? I haven’t found any actual solutions that work, though.