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_ramp
multiplies the particle mesh's vertex colors. To have a visible effect on aBaseMaterial3D
,BaseMaterial3D.vertex_color_use_as_albedo
must be true. For aShaderMaterial
,ALBEDO *= COLOR.rgb
; must be inserted in the shader'sfragment()
function. Otherwise,color_ramp
will have no visible effect.
Updating the settings of the material in the particle effect's draw pass fixes the issue.