bevy_prototype_lyon
Draw 2D shapes in Bevy
git clone https://github.com/rparrett/bevy_prototype_lyon.gitrparrett/bevy_prototype_lyonBevy + Lyon = ❤
bevy_prototype_lyon enables Bevy users to draw 2D shapes and paths, like triangles, circles, rectangles, lines, arcs and beziers.
How does it work?
Currently Bevy does not support drawing custom shapes in an easy way. This crate uses a variation of Bevy's Mesh2d with custom meshes to draw shapes. The lyon crate is used to generate those custom meshes.
Usage
Add bevy_prototype_lyon to your cargo project:
cargo add bevy_prototype_lyon
Then, you can start by drawing simple shapes:
use bevy::{color::palettes::css::*, prelude::*};
use bevy_prototype_lyon::prelude::*;
fn main() {
App::new()
.add_plugins((DefaultPlugins, ShapePlugin))
.add_systems(Startup, setup_system)
.run();
}
fn setup_system(mut commands: Commands) {
let shape = shapes::RegularPolygon {
sides: 6,
feature: shapes::RegularPolygonFeature::Radius(200.0),
..shapes::RegularPolygon::default()
};
commands.spawn((Camera2d, Msaa::Sample4));
commands.spawn(
ShapeBuilder::with(&shape)
.fill(DARK_CYAN)
.stroke((BLACK, 10.0))
.build(),
);
}
Don't forget to check out the examples to learn more!
Bevy versions supported
I strive to support the latest version of Bevy. Support for a version of Bevy is dropped as soon as a new one is released.
The following table shows the latest version of bevy_prototype_lyon that supports a certain version of Bevy.
| bevy | bevy_prototype_lyon | license |
|---|---|---|
| 0.19 | 0.17 | MIT/Apache 2.0 |
| 0.18 | 0.16 | MIT/Apache 2.0 |
| 0.17 | 0.15 | MIT/Apache 2.0 |
| 0.16 | 0.14 | MIT/Apache 2.0 |
| 0.15 | 0.13 | MIT/Apache 2.0 |
| 0.14 | 0.12 | MIT/Apache 2.0 |
| 0.13 | 0.11 | MIT/Apache 2.0 |
| 0.12 | 0.10 | MIT/Apache 2.0 |
| 0.11 | 0.9 | MIT/Apache 2.0 |
| 0.10 | 0.8 | MIT/Apache 2.0 |
| 0.9 | 0.7 | MIT/Apache 2.0 |
| 0.8 | 0.6 | MIT/Apache 2.0 |
| 0.7 | 0.5 | MIT/Apache 2.0 |
| 0.6 | 0.4 | MIT/Apache 2.0 |
| 0.5 | 0.3 | MIT |
| 0.4 | 0.2 | MIT |
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
more like this
TachiSnap
TachiSnap — Pixel Snapper for animation pixel artists. Rust + WebAssembly client-side tool for cleaning up AI-generated…
bit_gossip
Pathfinding library for calculating all node pairs' shortest paths in an unweighted undirected graph.
