StandardMaterial
StandardMaterial is Bevy’s primary PBR (Physically Based Rendering) material component. It lives in bevy_pbr::prelude and defines the surface properties used for mesh rendering in the standard PBR pipeline.
Every mesh entity rendered with the PBR pipeline requires a Handle<StandardMaterial> component.
Key properties
| Property | Type | Description |
|---|---|---|
base_color | Color | Surface color before lighting. Diffuse albedo for non-metallic, specular for metallic. Multiplied by base_color_texture if set. |
base_color_texture | Option<Handle<Image>> | Texture override for base color. Set base_color to Color::WHITE for texture-as-is. |
perceptual_roughness | f32 | 0–1 surface roughness. 0 = mirror, 1 = fully diffuse. |
metallic | f32 | 0–1 metallic factor. 0 = dielectric, 1 = fully metallic. |
reflectance | f32 | 0.16–1.0 reflectance at normal incidence (F0). Default 0.5. |
emissive | Color | Self-illumination color. LinearRgba::BLACK (default) = no emission. |
clearcoat | f32 | 0–1 clearcoat factor. Intensity of the thin transparent coating layer. |
clearcoat_texture | Option<Handle<Image>> | Grayscale texture for partial clearcoat. Fixed in PR #24514. |
transmission | f32 | 0–1 light transmission factor. Glass/water effects. |
ior | f32 | Index of Refraction. Default 1.5. Affects transmission roughness (PR #24453 fix). |
specular_transmission | f32 | 0–1 specular component of transmission. |
Recent fixes
- 2026-06-03 — clearcoat texture propagation (#24514, issam3105): glTF
ClearCoatmaterials now correctly propagateclearcoat_texturetoStandardMaterial. Previously, partial coating (e.g., Khronos ClearCoatTest) was broken. - 2026-06-03 — transmission roughness IOR scaling (#24453, issam3105):
iornow correctly scales transmission roughness. IOR=1.0 materials no longer appear blurry.
Usage patterns
// Basic usage
commands.spawn((
Mesh3d(mesh_handle),
MeshMaterial3d(material_handle),
));
// Creating a glass-like transmissive material
let glass = StandardMaterial {
base_color: Color::srgba(1.0, 1.0, 1.0, 0.1),
perceptual_roughness: 0.1,
metallic: 0.0,
reflectance: 0.5,
transmission: 0.95,
ior: 1.5,
..default()
};Related pages
- clearcoat — PBR clearcoat concept and the #24514 fix
- transmission — PBR transmission concept and the #24453 fix
- bevy-pbr — the
bevy_pbrcrate - bevy-rendering — Bevy rendering system overview