https://github.com/manevillef/bevy_sprite_material
Materials for sprites in Bevy
https://github.com/manevillef/bevy_sprite_material
Last synced: 5 months ago
JSON representation
Materials for sprites in Bevy
- Host: GitHub
- URL: https://github.com/manevillef/bevy_sprite_material
- Owner: ManevilleF
- License: mit
- Created: 2022-01-14T08:43:51.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-08-23T07:49:32.000Z (about 3 years ago)
- Last Synced: 2025-05-09T12:44:13.897Z (5 months ago)
- Language: Rust
- Size: 27.3 KB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# bevy_sprite_material
Materials for sprites in Bevy
[](https://github.com/ManevilleF/bevy_sprite_material/actions/workflows/rust.yaml)
[](./LICENSE)
[](https://github.com/rust-secure-code/safety-dance/)
[](https://crates.io/crates/bevy_sprite_material)
[](https://docs.rs/bevy_sprite_material)
[](https://deps.rs/crate/bevy_sprite_material)This [bevy] plugin changes the `bevy_sprite` implementation using a material.
> You might be interested in [bevy_ui_material](https://github.com/ManevilleF/bevy_ui_material) which is a similar plugin for `bevy_ui` instead of `bevy_sprite`.
The new `Sprite` component is identical to `bevy_sprite` but without the `color` field.
The new `SpriteBundle` component bundle replaces the `texture` field (`Handle`) by a `material` field (`Handle`)
## Objective
The goal of this plugin is to allow seamless edition of sprites `texture` **and** `color` which was removed with [bevy] 0.6.
This is very useful if you have many sprites and you have, for example, various themes and don't want to *query* every sprite to change its color.
If you have a dedicated artist, you probably don't use the sprite `color` tinting field anyway, so the base implementation is perfect for you.
This is specifically if you want to "massively update" the sprite `color` and maybe the `texture` as well.## Disclaimer
This plugin is very straightforward, and simply plugs itself in the `bevy_sprite` render pipeline (in the *extraction* stage).
This system might be slower than the base implementation, because of the extra `Handle` involved.Also, there might be compatibility issues, so feel free to open issues or merge requests.
> This plugin should work fine if you use both the plugin and the base sprite implementation
[bevy]: https://github.com/bevyengine/bevy