Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
set alpha_mode based on alpha value (bevyengine#4658)
# Objective - When spawning a sprite the alpha is used for transparency, but when using the `Color::into()` implementation to spawn a `StandardMaterial`, the alpha is ignored. - Pretty much everytime I want to make something transparent I started with a `Color::rgb().into()` and I'm always surprised that it doesn't work when changing it to `Color::rgba().into()` - It's possible there's an issue with this approach I am not thinking of, but I'm not sure what's the point of setting an alpha value without the goal of making a color transparent. ## Solution - Set the alpha_mode to AlphaMode::Blend when the alpha is not the default value. --- ## Migration Guide This is not a breaking change, but it can easily be migrated to reduce boilerplate ```rust commands.spawn_bundle(PbrBundle { mesh: meshes.add(shape::Cube::default().into()), material: materials.add(StandardMaterial { base_color: Color::rgba(1.0, 0.0, 0.0, 0.75), alpha_mode: AlphaMode::Blend, ..default() }), ..default() }); // becomes commands.spawn_bundle(PbrBundle { mesh: meshes.add(shape::Cube::default().into()), material: materials.add(Color::rgba(1.0, 0.0, 0.0, 0.75).into()), ..default() }); ``` Co-authored-by: Charles <[email protected]>
- Loading branch information