In Godot 4.3.stable, I set
color_ramp to a different gradient on
GPUParticles3D but it wasn't changing
the color of the emitted particles. It wasn't until
I watched this
youtube video that I noticed the
vertex_color_use_as_albedo property on
the draw pass material needs to be set to true.
After double-checking the documentation, I notice that it does indeed note this:
Note:
color_rampmultiplies the particle mesh's vertex colors. To have a visible effect on aBaseMaterial3D,BaseMaterial3D.vertex_color_use_as_albedomust be true. For aShaderMaterial,ALBEDO *= COLOR.rgb; must be inserted in the shader'sfragment()function. Otherwise,color_rampwill have no visible effect.
Updating the settings of the material in the particle effect's draw pass fixes the issue.