4 个版本 (2 个重大变更)
新功能 0.3.1 | 2024 年 8 月 23 日 |
---|---|
0.3.0 | 2024 年 8 月 23 日 |
0.2.0 | 2024 年 3 月 8 日 |
0.1.0 | 2024 年 1 月 6 日 |
#617 在 游戏开发
64KB
1.5K SLoC
bevy_generative
bevy_generative
是为 bevy 引擎 编写的插件,允许实时生成地图、纹理、地形、星球等!
功能
- 允许直接集成到您的 bevy 游戏中的程序生成资产
- 处理图像和网格数据的实时更新,作为资产配置的变更
- 支持本地和 wasm 目标
- 允许保存生成的资产(本地使用
rfd
,wasm 使用 JavaScript blob) - 使用
serde
序列化和反序列化组件
展示
查看 Procedra [源代码],一个允许您实时实验所有参数并生成资产的程序生成 Web 应用程序!
安装
将 bevy_generative
添加到您的 Rust 项目中
cargo add bevy_generative
示例
地图和纹理
use bevy::prelude::*;
use bevy_generative::map::{MapBundle, MapPlugin};
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugins(MapPlugin)
.add_systems(Startup, setup)
.run();
}
fn setup(mut commands: Commands) {
commands.spawn(Camera2dBundle::default());
commands.spawn(MapBundle::default());
}
地形
use bevy::prelude::*;
use bevy_generative::terrain::{TerrainBundle, TerrainPlugin};
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugins(TerrainPlugin)
.add_systems(Startup, setup)
.run();
}
fn setup(mut commands: Commands) {
commands.spawn(PointLightBundle {
transform: Transform::from_xyz(-2.0, 2.5, 5.0).looking_at(Vec3::ZERO, Vec3::Y),
..default()
});
commands.spawn(Camera3dBundle {
transform: Transform::from_xyz(-2.0, 2.5, 5.0).looking_at(Vec3::ZERO, Vec3::Y),
..default()
});
commands.spawn(TerrainBundle::default());
}
星球
use bevy::prelude::*;
use bevy_generative::planet::{PlanetBundle, PlanetPlugin};
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugins(PlanetPlugin)
.add_systems(Startup, setup)
.run();
}
fn setup(mut commands: Commands) {
commands.spawn(PointLightBundle {
transform: Transform::from_xyz(-2.0, 2.5, 5.0).looking_at(Vec3::ZERO, Vec3::Y),
..default()
});
commands.spawn(Camera3dBundle {
transform: Transform::from_xyz(-2.0, 2.5, 5.0).looking_at(Vec3::ZERO, Vec3::Y),
..default()
});
commands.spawn(PlanetBundle::default());
}
Bevy 兼容性
bevy | bevy_generative |
---|---|
0.14 | 0.3, main |
0.13 | 0.2 |
0.12 | 0.1 |
贡献
欢迎贡献!问题、拉取请求、功能请求和错误报告都很受欢迎。如果您想为此项目做出贡献,请按照以下步骤操作
- 分支仓库。
- 创建一个具有描述性名称的新分支。
- 进行更改或添加。
- 测试您的更改。
- 提交一个带有您工作明确描述的拉取请求。
请确保您的代码通过所有 CI 检查,并在适用的情况下包含相关测试。感谢您帮助改进 bevy_generative
!
您的贡献将根据以下许可部分中所述的双许可。
许可
此仓库中的所有代码都根据以下任一许可进行双许可
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
- Apache 许可证,版本 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
由您选择。这意味着您可以选择您喜欢的许可协议!这种双重许可方法在Rust生态系统中是事实上的标准,并且有非常好的理由包含两者。
依赖项
~41–78MB
~1.5M SLoC