09915f521d
* chore(crates): updated crates to Bevy 0.13 * updated deps * updated / changed code where relevant * updated README files * bumped version numbers for upcoming release * updated rust-toolchain * updated assets where relevant * closes #132 * feat(bevy_gltf_components): * added GltfProcessed flag component to improve performance of iteration over added<gltfExtras> * closes #144 * light & shadow processing is now integrated, to match lights coming from Blender: you can now control whether lights cast shadows, the cascade resolution , background color etc from Blender * closes #155 * feat(bevy_registry_export): added boilerplate to make registry path relative to assets folder * closes #137 * feat(tools): added boilerplate for internal tools * clean zip file generator for blender add-on releases * example gltf file generator * feat(lighting): added components, exporter support & testing for blender-configurable shadows * added BlenderLightShadows component to bevy_gltf_components * added writing shadow information to gltf_auto_export * updated tests * closes #157 Co-authored-by: Jan Hohenheim <jan@hohenheim.ch> |
||
---|---|---|
.. | ||
src | ||
Cargo.toml | ||
LICENSE_APACHE.md | ||
LICENSE_MIT.md | ||
LICENSE.md | ||
README.md |
bevy_registry_export
This plugin allows you to create a Json export of all your components/ registered types.
Its main use case is as a backbone for the bevy_components
Blender add-on, that allows you to add & edit components directly in Blender, using the actual type definitions from Bevy
(and any of your custom types & components that you register in Bevy).
Usage
Here's a minimal usage example:
# Cargo.toml
[dependencies]
bevy="0.13"
bevy_registry_export = "0.3"
use bevy::prelude::*;
use bevy_registry_export::*;
fn main() {
App::new()
.add_plugins((
DefaultPlugins,
ExportRegistryPlugin::default() // will save your registry schema json file to assets/registry.json
))
.run();
}
take a look at the example for more clarity
Installation
Add the following to your [dependencies]
section in Cargo.toml
:
bevy_registry_export = "0.3"
Or use cargo add
:
cargo add bevy_registry_export
Setup
use bevy::prelude::*;
use bevy_registry_export::*;
fn main() {
App::new()
.add_plugins((
DefaultPlugins
ExportRegistryPlugin::default()
))
.run();
}
you can also configure the output path
use bevy::prelude::*;
use bevy_registry_export::*;
fn main() {
App::new()
.add_plugins((
DefaultPlugins
ExportRegistryPlugin {
save_path: "assets/registry.json".into(),
..Default::default()
},
))
.run();
}
Usage
- The output file will be generated in the
Startup
schedule whenever you run your app. - Every time you compile & run your app, the output json file will be updated.
Examples
All examples are here:
the examples use
bevy_gltf_blueprints
with the legacy_mode set to FALSE as the new custom properties generated by the Blender add-on require newer/ non legacy logic.
Compatible Bevy versions
The main branch is compatible with the latest Bevy release, while the branch bevy_main
tries to track the main
branch of Bevy (PRs updating the tracked commit are welcome).
Compatibility of bevy_registry_export
versions:
bevy_registry_export |
bevy |
bevy_components (Blender add-on) |
---|---|---|
0.3 |
0.13 |
0.3 |
0.2 |
0.12 |
0.3 |
0.1 |
0.12 |
0.1 -0.2 |
branch main |
0.12 |
0.1 |
branch bevy_main |
main |
n/a |
Contributors
Thanks to all the contributors helping out with this project ! Big kudos to you, contributions are always appreciated ! :) A big shout out to killercup, that did the bulk of the Bevy side code !
License
This crate, all its code, contents & assets is Dual-licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)