Godot Engine:如何把你游戏中的Sprite、UI以及3D模型变成灰色

文章目录

      • 用Shader置灰
        • 2D(Sprite和UI)的置灰
          • 范例
          • Shader代码
          • 效果
        • 3D的置灰
          • 范例
          • Shader代码
          • 效果

用Shader置灰

  • 2D(Sprite和UI)的置灰

范例

Godot Engine:如何把你游戏中的Sprite、UI以及3D模型变成灰色_第1张图片

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;
}
效果

Godot Engine:如何把你游戏中的Sprite、UI以及3D模型变成灰色_第2张图片

Godot Engine:如何把你游戏中的Sprite、UI以及3D模型变成灰色_第3张图片

  • 3D的置灰

范例

Godot Engine:如何把你游戏中的Sprite、UI以及3D模型变成灰色_第4张图片

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;
}
效果

Godot Engine:如何把你游戏中的Sprite、UI以及3D模型变成灰色_第5张图片
Godot Engine:如何把你游戏中的Sprite、UI以及3D模型变成灰色_第6张图片

你可能感兴趣的:(Godot笔记,#,Godot,实践,Godot,游戏开发)