用Shader置灰
范例
Shader代码
shader_type canvas_item;
uniform bool is_gray = false;
void fragment(){
vec4 color = texture(TEXTURE,UV);
if(is_gray){
color.r = color.g = color.b = (color.r + color.g + color.b)/3.0;
}
COLOR = color;
}
效果
范例
Shader代码
shader_type spatial;
render_mode unshaded;
uniform bool is_gray = false;
uniform sampler2D tex : hint_albedo;
void fragment(){
vec4 color = texture(tex,UV);
if(is_gray){
color.r = color.g = color.b = (color.r + color.g + color.b)/3.0;
}
ALBEDO = color.rgb;
ALPHA = color.a;
}
效果