bevy_generative
is a plugin written for the bevy engine that allows real-time procedural generation of maps, textures, terrain, planets and more!
- Allows procedural generation of assets which can be directly integrated in your bevy game
- Handles real-time updating of image and mesh data as configuration for the asset changes
- Builds on native as well as wasm targets
- Allows saving generated assets (uses
rfd
for native, javascript blob for wasm) - Serializes and deserializes components using
serde
Check out Procedra [Source], a procedural generation web application that allows you to experiment with all the parameters and generate assets in real-time!
Add bevy_generative
to your rust project
cargo add bevy_generative
Examples are provided in the examples directory. To run an example, clone this repository and invoke cargo like this:
cargo run --example map
bevy | bevy_generative |
---|---|
0.14 | 0.3, main |
0.13 | 0.2 |
0.12 | 0.1 |
Contributions are welcome! Issues, pull requests, feature requests and bug reports are appreciated. If you'd like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch with a descriptive name.
- Make your changes or additions.
- Test your changes.
- Submit a pull request with a clear description of your work.
Please ensure your code passes all CI checks and includes relevant tests if applicable. Thank you for helping improve bevy_generative
!
Your contribution will be dual-licensed as mentioned in the License section below.
All code in this repository is dual-licensed under either:
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
at your option. This means you can select the license you prefer! This dual-licensing approach is the de-facto standard in the Rust ecosystem and there are very good reasons to include both.