Bevy generative
Real-time procedural generation of maps, textures, terrain, planets and more!
`bevy_generative` is a plugin written for the [bevy engine](https://bevyengine.org/) that allows real-time procedural generation of maps, textures, terrain, planets and more! The project is written primarily in Rust, distributed under the Apache License 2.0 license, first published in 2023. Key topics include: bevy-engine, bevy-plugin, graphics, map-generation, noise.
bevy_generative
bevy_generative is a plugin written for the bevy engine that allows real-time procedural generation of maps, textures, terrain, planets and more!
Features
- 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
rfdfor native, javascript blob for wasm) - Serializes and deserializes components using
serde
Showcase
Check out Procedra [Source], a procedural generation web application that allows you to experiment with all the parameters and generate assets in real-time!
Installation
Add bevy_generative to your rust project
shcargo add bevy_generative
Examples
Examples are provided in the examples directory. To run an example, clone this repository and invoke cargo like this:
shcargo run --example map
Bevy Compatibility
| bevy | bevy_generative |
|---|---|
| 0.16 | 0.4, main |
| 0.14 | 0.3 |
| 0.13 | 0.2 |
| 0.12 | 0.1 |
Contributing
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.
License
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.
Contributors
Showing top 3 contributors by commit count.
