尝试制作模糊着色器
- 请在 game_scene 选项卡中选择 Sprite2D。
- 在检查器界面的 CanvasItem > Material > empty > New ShaderMaterial 处创建一个新的着色器材质。
- 再次选择并展开,创建一个新的着色器。
- 因为是模糊效果,请将名称更改为 blur.gdshader 并创建。
- 点击 blur.gdshader,面板将切换至可填写着色器代码的界面。着色器必须通过脚本创建。
- 请复制以下代码并完全覆盖现有内容。
shader_type canvas_item;
uniform float blur_radius : hint_range(0.0, 10.0); // 模糊强度
void fragment() {
vec2 size = vec2(textureSize(TEXTURE, 0));
vec2 uv = UV;
vec4 sum = vec4(0.0);
int blur_size = int(blur_radius);
for (int x = -blur_size; x <= blur_size; x++) {
for (int y = -blur_size; y <= blur_size; y++) {
vec2 offset = vec2(float(x), float(y)) / size;
sum += texture(TEXTURE, uv + offset);
}
}
float samples = pow(float(blur_size * 2 + 1), 2.0);
COLOR = sum / samples;
}
- 在材质的 Shader Parameters 中会出现一个新的 Blur Radius 项目,现在可以试着调整它了,远景应该会显示模糊效果。
给无法编写脚本的人
Godot 的着色器是使用名为 GDSL 的专用语言编写的,因此必须编写脚本。
不过,许多前辈已经创建了大量的着色器。如果您搜索以下网站或网络资源,可能会找到您想要制作的着色器。
与动画播放器的联动
此着色器参数也可以用作动画的关键帧。因此,可以非常轻松地实现使用着色器的动画,适用于传送、战斗入场演出等各种场景。
表现强化课程到此结束。
其他课程请在此处报名
1. 图形课程
面向希望操控自己绘制角色的用户。
2. 脚本课程
面向希望使用默认角色制作各种动作或系统的用户。





