Hi! you have to write a shader for that.
modulate
just multiplies the texture color with the modulate color, so if you want the same effect, but avoiding touching black and white colors, you could add this shader to the sprite:
shader_type canvas_item;
uniform vec4 modulate : hint_color = vec4(1.0);
void fragment(){
vec4 color = texture(TEXTURE,UV);
if (color.a == 1.0){
if (color.rgb != vec3(1.0) && color.rgb != vec3(0.0)){
color *= modulate;
}
}
COLOR = color;
}
Instead of changing the modulate property of the sprite, change the modulate param in the shader params from the editor.