An open API service indexing awesome lists of open source software.

https://github.com/manevillef/bevy_ui_material

Materials for bevy UI Nodes
https://github.com/manevillef/bevy_ui_material

Last synced: 4 months ago
JSON representation

Materials for bevy UI Nodes

Awesome Lists containing this project

README

          

# bevy_ui_material

Materials for bevy UI Nodes

[![workflow](https://github.com/ManevilleF/bevy_ui_material/actions/workflows/rust.yaml/badge.svg)](https://github.com/ManevilleF/bevy_ui_material/actions/workflows/rust.yaml)

[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)
[![unsafe forbidden](https://img.shields.io/badge/unsafe-forbidden-success.svg)](https://github.com/rust-secure-code/safety-dance/)
[![Crates.io](https://img.shields.io/crates/v/bevy_ui_material.svg)](https://crates.io/crates/bevy_ui_material)
[![Docs.rs](https://docs.rs/bevy_ui_material/badge.svg)](https://docs.rs/bevy_ui_material)
[![dependency status](https://deps.rs/crate/bevy_ui_material/0.2.0/status.svg)](https://deps.rs/crate/bevy_ui_material)

This [bevy] plugin changes the `bevy_ui` implementation using a material.

> You might be interested in [bevy_sprite_material](https://github.com/ManevilleF/bevy_sprite_material) which is a similar plugin for `bevy_sprite` instead of `bevy_ui`.

This plugin provides new implementation of the following bundles:
- `NodeBundle`
- `ButtonBundle`
- `ImageBundle`

The new component bundles replaces the `color` field and the `image` field (`Handle`) by a `material` field (`Handle`)

## Objective

The goal of this plugin is to allow seamless edition of UI nodes `image` **and** `color` which was removed with [bevy] 0.6.

This is very useful if you have many nodes and you have, for example, various themes and don't want to *query* every node to change its color.

If you have a dedicated artist, you probably don't use the `color` tinting field anyway, so the base implementation is perfect for you.
This is specifically if you want to "massively update" the `color` and maybe the `image` as well.

## Disclaimer

This plugin is very straightforward, and simply plugs itself in the `bevy_ui` 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 ui implementation

[bevy]: https://github.com/bevyengine/bevy