教程:表现强化课程 #3 尝试使用着色器。

本课程将学习使用 ACTION GAME MAKER 进行各种表现的方法。
第三讲将介绍着色器的使用方法。

课程开始前的准备工作

继续使用第二讲中使用的项目。
请打开项目并做好准备工作。

尝试制作模糊着色器

  1. 请在 game_scene 选项卡中选择 Sprite2D。
  2. 在检查器界面的 CanvasItem > Material > empty > New ShaderMaterial 处创建一个新的着色器材质。
  3. 再次选择并展开,创建一个新的着色器。
  4. 因为是模糊效果,请将名称更改为 blur.gdshader 并创建。
  5. 点击 blur.gdshader,面板将切换至可填写着色器代码的界面。着色器必须通过脚本创建。
  6. 请复制以下代码并完全覆盖现有内容。
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;
}
  1. 在材质的 Shader Parameters 中会出现一个新的 Blur Radius 项目,现在可以试着调整它了,远景应该会显示模糊效果。

给无法编写脚本的人

Godot 的着色器是使用名为 GDSL 的专用语言编写的,因此必须编写脚本。
不过,许多前辈已经创建了大量的着色器。如果您搜索以下网站或网络资源,可能会找到您想要制作的着色器。

与动画播放器的联动

此着色器参数也可以用作动画的关键帧。因此,可以非常轻松地实现使用着色器的动画,适用于传送、战斗入场演出等各种场景。

表现强化课程到此结束。
其他课程请在此处报名

1. 图形课程
面向希望操控自己绘制角色的用户。

2. 脚本课程
面向希望使用默认角色制作各种动作或系统的用户。

1 个赞