I would add a GPUParticles2D node as a child of your bullet scene. In your bullet's _ready() method, or every frame if your bullet changes direction after it's spawned, you could use $GPUParticles2D.process_material.set_shader_parameter("property_string", value) to change properties like the angle min/max of the particles. That way, whichever way your bullet spawns, it can manage its own trail. I hope that helps!