Blender_bevy_components_wor.../examples/bevy_gltf_blueprints/basic
Mark Moissette 9f21df035b
feat(): Asset preloading basics (#169)
* closes #80 
* preliminary work for further asset management from the Blender side without needing additional dependencies & boilerplate on the Bevy side 
* feat(auto_export): 
     * now injecting list/tree of sub blueprints to main scenes/levels & blueprints
     * made blueprints/asset list conditional on NOT legacy mode
* feat(gltf_blueprints): 
    * basics of dynamic loading of sub_blueprints
    * added same kind of logic to the loading of material files
    * also made a more generic variant of the BlueprintAssetLoadTracker 
    * added gltf file path for more informative error in case a gltf is missing
* refactor(): 
   * made the various gltf assets loaded by bevy_asset_loader optional (to handle the case where they are not present)
   * updated all examples accordingly
* chore(crates): fixed links, slight tweaks, bumped versions
2024-03-18 18:00:19 +01:00
..
assets chore(Bevy): Update to bevy 0.13 (#136) 2024-03-04 22:16:31 +01:00
src feat(): Asset preloading basics (#169) 2024-03-18 18:00:19 +01:00
Cargo.toml chore(Bevy): Update to bevy 0.13 (#136) 2024-03-04 22:16:31 +01:00
index.html chore(): cleanup & simplification pass (#122) 2024-02-07 14:07:17 +01:00
README.md chore(): cleanup & simplification pass (#122) 2024-02-07 14:07:17 +01:00

Basic physics example/demo

This example showcases various components & blueprints extracted from the gltf files, including physics colliders & rigid bodies

Notes Workflow with blender / demo information

This example, is actually closer to a boilerplate + tooling showcases how to use a minimalistic Blender (gltf) centric workflow for Bevy, ie defining entites & their components inside Blender using Blender's objects custom properties. Aka "Blender as editor for Bevy"

It also allows you to setup 'blueprints' in Blender by using collections (the recomended way to go most of the time), or directly on single use objects .

Running this example

cargo run --features bevy/dynamic_linking

Wasm instructions

Setup

as per the bevy documentation:

rustup target add wasm32-unknown-unknown
cargo install wasm-bindgen-cli

Building this example

navigate to the current folder , and then

cargo build --release --target wasm32-unknown-unknown --target-dir ./target
wasm-bindgen --out-name wasm_example \
  --out-dir ./target/wasm \
  --target web target/wasm32-unknown-unknown/release/bevy_gltf_blueprints_basic_wasm_example.wasm

Running this example

run a web server in the current folder, and navigate to the page, you should see the example in your browser

Additional notes

  • You usually define either the Components directly or use Proxy components that get replaced in Bevy systems with the actual Components that you want (usually when for some reason, ie external crates with unregistered components etc) you cannot use the components directly.
  • this example contains code for future features, not finished yet ! please disregard anything related to saving & loading