SuperAPI AI 工具集

bevy-pbr-materials

设计与创作

查看项目

更新于 10-15 17:33

技能介绍

用途:在 Bevy 0.19 中为网格添加基于物理的渲染材质,包括使用内置 PBR 着色器贴图,以及编写自定义 Material(如风格化着色、溶解效果、世界空间着色器)。同时覆盖光照与阴影、大气实体、以及升级到 0.19 后的编译错误处理。

主要能力:使用 StandardMaterial 配置 base_color、perceptual_roughness、metallic 等参数;通过 Material 特征与 AsBindGroup 定义自定义材质;启用阴影贴图或 0.19 接触阴影;生成 Atmosphere 实体并在相机上启用;处理 AsBindGroup::label() 必需、MaterialPlugin 字段移除等编译错误。

使用方式:先添加 DefaultPlugins,再在 Startup 系统中创建网格与材质资源,将 Mesh3d(handle) 与 MeshMaterial3d(material_handle) 作为组件生成实体,并配合 Camera3d、DirectionalLight 等。自定义材质的属性、ShaderRef 变体与 MaterialPlugin 接线见 references/custom-material.md;灯光、阴影与大气见 references/lighting.md;网格图元见 references/mesh-primitives.md。

0.19 注意事项:使用 shadow_maps_enabled;接触阴影需相机加 ContactShadows 且光源设 contact_shadows_enabled: true;Atmosphere 是独立实体,AtmosphereSettings 留在相机;glTF 材质标签变化,需 StandardMaterial 用 #Material0/std;Mesh3d 与 MeshMaterial3d 是渲染器查询的包装组件;Plane3d::new 的 half_size 接收 Vec2;Color::rgb 已移除,改用 Color::srgb 或 Color::linear_rgb;方向光位置被忽略,仅旋转有效。

适用场景:为 3D 场景设置材质、实现自定义着色器、配置阴影与大气效果,以及从 Bevy 0.18 迁移到 0.19。限制:内容针对 Bevy 0.19,其他版本行为可能不同;部分细节需查阅引用文件。