用途:当某个表面需要自定义材质,或需要全屏效果时使用本技能。StandardMaterial 的字段列表请查阅 bevy-3d-materials;着色器源码以 WGSL 资源形式加载。
主要能力:着色器资源通过 AssetServer 从路径加载 Shader,用 ShaderRef::Handle 或路径字符串把材质指向该资源;自定义材质需实现 Material、派生 AsBindGroup,并注册 MaterialPlugin::<T>,材质由引擎提取,不要自己调度着色器编译器。全屏效果可用 bevy::post_process 中的 Bloom 相机组件,它会自行要求 HDR 相机。
使用方式:依赖中写 bevy = "0.20"。材质结构体存储 uniform(如颜色)并在 fragment_shader 中命名着色器路径,注册插件须早于生成该材质的系统。需要显式句柄时可自行加载着色器,再用 ShaderRef 接受该句柄。Bloom 的 intensity 控制场景级散射量。
适用场景:自定义表面材质(Material + WGSL 路径)、顶点与片元着色器(材质上的 Vertex/Fragment ShaderRef)、全屏后期(相机上的 Bloom 等 bevy::post_process 组件)。
限制:WGSL 入口点位于 ShaderRef 指定的文件中,绑定即材质结构体上的 AsBindGroup 字段,管线特化保留在材质插件内。禁止在文档 URL 中固定 /0.20.0/;不得从两个无序系统可变查询同一组件;不得编造物理、导航、网络或 XR crate;不得使用 Godot 着色器语言、提示语法或类型。官方页面使用无版本号的 bevy.org URL。