mirror of
https://github.com/kaosat-dev/Blender_bevy_components_workflow.git
synced 2024-11-22 20:00:53 +00:00
528e13a250
* feat(bevy_gltf_components): * create crate * added SystemSet (GltfComponentsSet) to run process_loaded_scenes (where components are injected) in a specific systemset & allow ordering other systems relative to it * feat(bevy_gltf_blueprints): * created crate * made the blueprint library path configurable * added BluePrintBundle helper * added SystemSet (GltfBlueprintsSet) for better system ordering * integrated into advanced demo * feat(tools-blender-auto-export): * renamed blender tool to gltf_auto_export * rewritten auto_export * added blueprint / prefab support * creates scene with empties with BlueprintName components in the scene * export of the main scene now exports this scene instead of real main scene * changes collection stand in names in original scene & sets them back after export to have correctly named collection instance exports * also added an additional 'SpawnHere' component to not conflate BlueprintNames & spawning requests * toggling & blueprint library output parameters added * added correct handling/ restoring of saved selection when using blueprints * feat(examples): * added advanced example * general example renamed to "basic", and cleaned up * feat(various): a lot of experiments with saving & loading etc * chore(assets): updated blend & generated assets * fix(examples-advanced): disabling hot reloading as it messes up scenes in experiments with save & loading * docs(): * added & fleshing out docs for the various crates & main README * added process doc image & tweaks to README * added missing licence info where relevant * fixed broken links * clarified some aspects * added updated screenshots where relevant * added tweaks & improvements etc
52 lines
1.4 KiB
Rust
52 lines
1.4 KiB
Rust
use std::time::Duration;
|
|
use bevy::{prelude::*, asset::ChangeWatcher, gltf::Gltf};
|
|
use bevy_editor_pls::prelude::*;
|
|
use bevy_rapier3d::prelude::*;
|
|
use bevy_gltf_components::ComponentsFromGltfPlugin;
|
|
|
|
mod core;
|
|
use crate::core::*;
|
|
|
|
pub mod assets;
|
|
use assets::*;
|
|
|
|
pub mod state;
|
|
use state::*;
|
|
|
|
mod game;
|
|
use game::*;
|
|
|
|
mod test_components;
|
|
use test_components::*;
|
|
|
|
|
|
|
|
fn main(){
|
|
App::new()
|
|
.add_plugins((
|
|
DefaultPlugins.set(
|
|
AssetPlugin {
|
|
// This tells the AssetServer to watch for changes to assets.
|
|
// It enables our scenes to automatically reload in game when we modify their files.
|
|
// practical in our case to be able to edit the shaders without needing to recompile
|
|
// watch_for_changes: ChangeWatcher::with_delay(Duration::from_millis(50)), : FIXME: breaks scene save/loading
|
|
..default()
|
|
}
|
|
),
|
|
// editor
|
|
EditorPlugin::default(),
|
|
// physics
|
|
RapierPhysicsPlugin::<NoUserData>::default(),
|
|
RapierDebugRenderPlugin::default(),
|
|
// our custom plugins
|
|
ComponentsFromGltfPlugin,
|
|
|
|
StatePlugin,
|
|
AssetsPlugin,
|
|
CorePlugin, // reusable plugins
|
|
GamePlugin, // specific to our game
|
|
ComponentsTestPlugin // Showcases different type of components /structs
|
|
))
|
|
.run();
|
|
}
|