Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(animation) : Animation fixes and improvements #170

Draft
wants to merge 175 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
175 commits
Select commit Hold shift + click to select a range
c6468f2
feat(auto_export):
kaosat-dev Mar 18, 2024
98eef2c
chore(testing): added animation of a blueprint instance for testing
kaosat-dev Mar 18, 2024
1c51d10
chore(auto_export): further exploration & experimenting
kaosat-dev Mar 18, 2024
87c0365
chore(auto_export): further experimentation
kaosat-dev Mar 19, 2024
7584078
chore(testing): minor tweaks to testing blend file
kaosat-dev Mar 19, 2024
c2f09fb
feat(): added 'animated' flag component (wip) to mark any worlds/blue…
kaosat-dev Mar 19, 2024
83258db
fix(auto_export): found & fixed a huge issue with handling of hierarc…
kaosat-dev Mar 20, 2024
b51a0d3
chore(testing): made nesting cases even more complex to cover differe…
kaosat-dev Mar 20, 2024
a001ee2
test(auto_export):
kaosat-dev Mar 20, 2024
4f50c4f
feat():
kaosat-dev Mar 21, 2024
4f5f3be
chore(): minor tweaks
kaosat-dev Mar 21, 2024
67588ba
chore(examples): updated registry for bevy_registry as some of the bu…
kaosat-dev Mar 21, 2024
0b64de7
chore(testing): experimenting with scene level animation handling
kaosat-dev Mar 21, 2024
27201e5
feat():
kaosat-dev Mar 22, 2024
ce473a3
feat(animation): split animation logic/components into Blueprint vs I…
kaosat-dev Mar 22, 2024
37dd6a9
feat(auto_export): experimenting with ways of getting standard gltf e…
kaosat-dev Mar 22, 2024
1f959c5
chore(): minor tweak
kaosat-dev Mar 22, 2024
c44d82e
feat(animation): added basic handling of animation markers
kaosat-dev Mar 30, 2024
df3e335
feat(animation):
kaosat-dev Mar 30, 2024
2523691
refactor(animation): cleanups , reorg & tweaks
kaosat-dev Mar 30, 2024
49dd0bc
chore(): cargo fmt
kaosat-dev Mar 30, 2024
66df7fa
feat(animation):
kaosat-dev Mar 31, 2024
66a893e
feat(auto_export): experimenting with the insane workarounds needed t…
kaosat-dev Apr 1, 2024
4a0479f
feat(auto_export): further experimenting with standard gltf exporter …
kaosat-dev Apr 1, 2024
73e81c2
feat(auto_export): continued cleaning up overhaul
kaosat-dev Apr 2, 2024
73441f3
feat(auto_export): restructured & improved changed parameters detection
kaosat-dev Apr 2, 2024
2dae2c4
feat(auto_export): a ton of finicky annoying workarounds !
kaosat-dev Apr 2, 2024
b19e54b
refactor(auto_export): cleanups
kaosat-dev Apr 3, 2024
0528286
chore(): updated blend file
kaosat-dev Apr 3, 2024
0998dec
feat(animation): changes & some reverts of the latests experiments
kaosat-dev Apr 4, 2024
1cf47d3
refactor(): cleanups
kaosat-dev Apr 5, 2024
ed09ab7
feat(tools):
kaosat-dev Apr 5, 2024
e139a14
chore(auto_export): cleanups
kaosat-dev Apr 5, 2024
1b1fc31
chore(testing): test file tweaks
kaosat-dev Apr 5, 2024
ccaeecf
chore(auto_export): more minor tweaks
kaosat-dev Apr 5, 2024
9645e81
fix(auto_export): fixed changed gltf parameters handling
kaosat-dev Apr 5, 2024
62686ec
chore(): cleared some data in testing file
kaosat-dev Apr 5, 2024
86a1a4d
test(auto_export): added tests for changed parameters tracking & chan…
kaosat-dev Apr 5, 2024
11e8786
fix(auto_export): first draft, working ! but horribly convoluted solu…
kaosat-dev Apr 5, 2024
64fd308
feat(auto_export): exploration, changes, debug etc for change detecti…
kaosat-dev Apr 7, 2024
cf4673c
feat(auto_export): MORE experimenting, cleanup & analysis attempts
kaosat-dev Apr 8, 2024
8683a64
refactor(animation): renamed instancexxx to scenexxx (ie InstanceAnim…
kaosat-dev Apr 8, 2024
a630494
feat(auto_export): continued fixes & tons of restructuring
kaosat-dev Apr 9, 2024
c2dc032
feat(bevy_components):
kaosat-dev Apr 9, 2024
6a15941
feat(auto_export): continued refactoring & internal improvements
kaosat-dev Apr 10, 2024
98930af
feat(auto_export): more work on correct parameter change detection fr…
kaosat-dev Apr 12, 2024
9ec60a7
feat(auto_export): more preferences handling tweaks, tracker changes etc
kaosat-dev Apr 12, 2024
2f54bea
feat(auto_export): since all variations of using depsgraphs_update & …
kaosat-dev Apr 13, 2024
db1a15e
feat(auto_export): fixes, improvements etc etc
kaosat-dev Apr 15, 2024
7a8b91f
tests(auto-export): fixed one test, fleshed out some others, added mo…
kaosat-dev Apr 15, 2024
742c5b1
chore(): some clippy changes
kaosat-dev Apr 15, 2024
2d459ab
chore(): cargo fmt
kaosat-dev Apr 15, 2024
1041656
chore(testing): tweaks to testing blend file
kaosat-dev Apr 16, 2024
4c6ed3b
feat(auto_export): lots of cleanups , tweaks etc
kaosat-dev Apr 16, 2024
1724824
feat(auto_export): further experiments & cleanups
kaosat-dev Apr 19, 2024
bde945a
feat(auto_export): further experiments, looking good !
kaosat-dev Apr 19, 2024
8b3c2e8
feat(testing): expanded testing data to a lib & main file to test ext…
kaosat-dev Apr 19, 2024
9af2cba
refactor(auto_export): ported the internal logic over to the new, mor…
kaosat-dev Apr 22, 2024
791861c
feat(auto_export): more work done to get various merging/split modes …
kaosat-dev Apr 22, 2024
8a3cecf
feat(auto_export):
kaosat-dev Apr 23, 2024
84e5de8
feat(auto_export): major ui restructuring
kaosat-dev Apr 26, 2024
312a432
feat(auto_export): ui improvement & goodbye legacy mode !
kaosat-dev Apr 26, 2024
74b12b9
chore(testing): moved blend files into "art" folder
kaosat-dev Apr 26, 2024
f0d7ccd
chore(auto_export): preferences/properties cleanups
kaosat-dev Apr 26, 2024
26ea12c
feat(auto_export):
kaosat-dev Apr 28, 2024
f387fbe
chore(testing): modified paths to account for new changes on the blen…
kaosat-dev Apr 28, 2024
eda18b7
test(auto_export): overhauled & cleaned up tests
kaosat-dev Apr 30, 2024
9138c81
refactor(): removed remains of legacy mode
kaosat-dev Apr 30, 2024
49917e3
feat():
kaosat-dev Apr 30, 2024
dc05356
chore(auto_export): cleanups
kaosat-dev Apr 30, 2024
185c25f
feat(bevy_components): started migration of data storage to enable
kaosat-dev Apr 30, 2024
ca02c1d
feat(bevy_components): continued changes to base logic on long_names
kaosat-dev May 2, 2024
98a6540
feat(bevy_components): added basic of hashmap/map support
kaosat-dev May 2, 2024
ff68109
feat(bevy_gltf_components): added support for the new 'nested' bevy_c…
kaosat-dev May 2, 2024
f224148
chore(auto_export): cleanups
kaosat-dev May 2, 2024
e7118f2
chore(testing): updated registry export
kaosat-dev May 2, 2024
cf87ace
docs(): preparing future release notes
kaosat-dev May 2, 2024
c14aeb7
feat(bevy_components): fleshed out & refined hashmap UI & internals
kaosat-dev May 3, 2024
ac02e8b
feat(bevy_components): more tweaks, error handling , improvements etc
kaosat-dev May 3, 2024
0ca57ba
feat(bevy_components): continued refactor to use long names instead o…
kaosat-dev May 5, 2024
ebf82b9
feat(bevy_components): more tweaks
kaosat-dev May 5, 2024
e7e680b
tests(bevy_components): migrating tests to new apis
kaosat-dev May 5, 2024
3154b8e
feat(bevy_registry_export):
kaosat-dev May 6, 2024
664e04b
chore(testing): updated registry
kaosat-dev May 6, 2024
7e6805f
chore(testing): added example of filtered out components
kaosat-dev May 6, 2024
03c3d39
feat(bevy_components): lot more cleanups & fixes
kaosat-dev May 6, 2024
c27bfb8
chore(bevy_components): cleanups
kaosat-dev May 6, 2024
310ee19
chore(): cargo fmt
kaosat-dev May 6, 2024
0172bbe
feat(tools): a ton of experiments for assets & blueprints ... wip
kaosat-dev May 12, 2024
0432769
chore(testing): added missing component filtering
kaosat-dev May 12, 2024
e42719d
feat(blenvy): experimenting with new combined tooling
kaosat-dev May 12, 2024
53d432f
feat(blenvy):
kaosat-dev May 12, 2024
0306bfb
feat(blenvy): added most of the code from both add-ons
kaosat-dev May 13, 2024
f3dbf76
feat(tools): updated/fixed some tests
kaosat-dev May 13, 2024
b8a7eba
feat(blenvy):
kaosat-dev May 13, 2024
0fb35d6
feat(blenvy):
kaosat-dev May 14, 2024
d0bc05f
feat(blenvy):
kaosat-dev May 15, 2024
d99a7cc
feat(blenvy): more work done on asset management
kaosat-dev May 15, 2024
006e3c1
feat(blenvy): split up user added assets from generated assets
kaosat-dev May 16, 2024
3aed4ab
refactor(blenvy): some minor materials reorg
kaosat-dev May 16, 2024
f561112
feat(blenvy): restructuring/ extracting a lot of the auto_export sett…
kaosat-dev May 16, 2024
00bf63c
chore(clippy): minor tweaks
kaosat-dev May 16, 2024
c476c05
feat(blenvy): overhauled directory handling, seems ok now
kaosat-dev May 16, 2024
21a36f9
feat(blenvy): massive overhaul
kaosat-dev May 17, 2024
d3d973d
feat(blenvy): a lot more restructuring of auto_export to have it work…
kaosat-dev May 17, 2024
f6b61f8
feat(blenvy): continued work on auto_export refactor
kaosat-dev May 17, 2024
8abd806
feat(blenvy): qol ui information
kaosat-dev May 18, 2024
c2a8479
feat(blenvy): overhauled path/directory management a bit
kaosat-dev May 19, 2024
70bdd48
feat(blenvy): now iterating over main scenes instead of manually filt…
kaosat-dev May 19, 2024
7ac0c5b
feat(blenvy): now passing levels path to the experimental "export ass…
kaosat-dev May 19, 2024
dc7422f
feat(blenvy): components can now also be added to collections/bluepri…
kaosat-dev May 19, 2024
382f37b
feat(blenvy): reorganising & upgrade of auto_export change detection
kaosat-dev May 20, 2024
008f6b3
feat(Blenvy): continued overhaul of auto export, slowly adding back t…
kaosat-dev May 22, 2024
c00c990
feat(Blenvy): a lot of verious tweaks & fixes
kaosat-dev May 25, 2024
8b76a34
refactor(Blenvy): renaming , moving of auto_export modules
kaosat-dev May 25, 2024
4f742e7
refactor(Blenvy): minor re-orgs
kaosat-dev May 25, 2024
26e7574
feat(Blenvy):
kaosat-dev May 25, 2024
ea982d3
refactor(Blenvy): moved components & auto export into a sub folder fo…
kaosat-dev May 25, 2024
b957f05
feat(Blenvy): settings coherency pass
kaosat-dev May 26, 2024
2470736
feat(blenvy): fixes & improvements to the settings handling
kaosat-dev May 26, 2024
2187fee
feat(Blenvy):
kaosat-dev May 27, 2024
a0b1959
feat(Blenvy): fixed all broken/ missing auto export elements
kaosat-dev May 28, 2024
cdab4c5
feat(blenvy):
kaosat-dev May 29, 2024
c557334
feat(Blenvy): modifier deep scan is done & huge cleanups
kaosat-dev May 30, 2024
91f3825
feat(blenvy): further upgrade & cleanup work for serialize_scene
kaosat-dev May 31, 2024
0b5cdcc
feat(Blenvy): unified & cleaned up node trees handling for materials/…
kaosat-dev Jun 1, 2024
2b6e17a
feat(Blenvy): improvements to change detection & co
kaosat-dev Jun 4, 2024
f9cb6de
feat(Blenvy): added "levels" tab (likely going to be replacing the "a…
kaosat-dev Jun 4, 2024
edd3d31
feat(Blenvy): ui improvements & fixes for assets for blueprints & levels
kaosat-dev Jun 5, 2024
ec95ab5
feat(Blenvy): a ton of minor & bigger improvements
kaosat-dev Jun 5, 2024
0cf3ec9
feat(Blenvy): more work done on generated assets
kaosat-dev Jun 5, 2024
29c8eba
feat(Blenvy): ui tweaks
kaosat-dev Jun 6, 2024
6f6b813
feat(Blenvy): total overhaul of main/library scene handling
kaosat-dev Jun 7, 2024
ba25c3c
feat(Blenvy): experimenting with injection of assets data into export…
kaosat-dev Jun 8, 2024
37f4514
feat(bevy_gltf_blueprints): added new experimental asset structs
kaosat-dev Jun 8, 2024
2a74ded
feat(Blenvy & crates):
kaosat-dev Jun 9, 2024
1fdb45b
feat(Blenvy): basic working loading of levels & assets
kaosat-dev Jun 9, 2024
ed0c85b
feat(Blenvy): more work done on materials handling overhaul (wip)
kaosat-dev Jun 9, 2024
2f7f302
feat(bevy_gltf_blueprints): added back materials handling ,removing c…
kaosat-dev Jun 10, 2024
763a520
feat(Blenvy):
kaosat-dev Jun 10, 2024
295c387
refactor(Blenvy): BIG cleanup
kaosat-dev Jun 10, 2024
9cb0c62
feat(Blenvy): huge improvements to components UI:
kaosat-dev Jun 11, 2024
b424a73
feat(Blenvy): renaming/coherency & component workflow pass
kaosat-dev Jun 12, 2024
85f0d11
docs(README): minor subtitle change
kaosat-dev Jun 12, 2024
ba4e2c0
feat(Blenvy): fixed/ updated rename/fixing tools
kaosat-dev Jun 12, 2024
7d4b0a4
feat(Blenvy): more improvements to repair/upgrade components UI
kaosat-dev Jun 12, 2024
c282dab
feat(Blenvy): another big cleanup, fixing & improvement pass for Comp…
kaosat-dev Jun 13, 2024
e869201
feat(blenvy): significant breaking changes in the way components are …
kaosat-dev Jun 14, 2024
2abdb7f
feat(Blenvy): fixed & overhauled components processing & hashing
kaosat-dev Jun 17, 2024
1686aca
chore(testing): removed dependency on rapier etc for testing project
kaosat-dev Jun 17, 2024
00bf600
feat(Blenvy): updated (most) of the crates' code to bevy 0.14 (rc)
kaosat-dev Jun 18, 2024
8b4bb47
feat(Blenvy): overhauled pieces of export to make use of Bevy 0.14 up…
kaosat-dev Jun 18, 2024
5676387
feat(Blenvy): added an "all-in-one" (almost) Blenvy crate
kaosat-dev Jun 19, 2024
dafd408
feat(examples): started examples reorg
kaosat-dev Jun 19, 2024
c162c33
feat(Blenvy): added support for Bevy components to meshes & materials
kaosat-dev Jun 21, 2024
ed5dfeb
feat(Blenvy): removed local assets, as they are useless, renamed AllA…
kaosat-dev Jun 22, 2024
4b1268f
feat(Blenvy):
kaosat-dev Jun 23, 2024
e232fed
chore(Blenvy): minor tweaks
kaosat-dev Jun 24, 2024
253d33f
feat(asset preloading): experimented with using the underlying gltf c…
kaosat-dev Jun 24, 2024
ee5c74a
refactor(Blenvy): deprecated BlueprintName (& BluprintPath), and repl…
kaosat-dev Jun 24, 2024
31f6a0f
feat(blenvy:blender): a ton of cleanups, fixes & improvements
kaosat-dev Jun 25, 2024
959951b
feat(Blenvy:Bevy): experimentation with hot reload: it works !!
kaosat-dev Jun 25, 2024
f25829f
feat(Blenvy:blender):
kaosat-dev Jun 26, 2024
75d7f94
chore(): minor tweaks & experiments
kaosat-dev Jun 26, 2024
3961e0b
feat(Blenvy:blender): made it impossible to add or update components …
kaosat-dev Jun 27, 2024
49e797f
feat(testing): updated the two main testing blend files
kaosat-dev Jun 27, 2024
c2e73b7
feat(Blenvy:blender):
kaosat-dev Jun 27, 2024
547315a
feat(Blenvy:Blender): fixed selection issues !
kaosat-dev Jun 28, 2024
fb54b0c
feat(Blenvy:Blender): upgreadable components: disable ui for external…
kaosat-dev Jun 28, 2024
6cbb144
feat(Blenvy:Bevy):
kaosat-dev Jun 28, 2024
07d5846
feat(Blenvy):
kaosat-dev Jul 1, 2024
6dde982
feat(Blenvy:Bevy): almost complete rework of blueprint spawning workf…
kaosat-dev Jul 2, 2024
fbcd025
feat(Blenvy): continued restructuring & upgrade of blueprint spawning…
kaosat-dev Jul 5, 2024
478be88
feat(Blenvy:Blender):
kaosat-dev Jul 7, 2024
bef709a
feat(Blenvy:Bevy):
kaosat-dev Jul 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions README-workflow-ui.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The workflow goes as follows (once you got your Bevy code setup)

## Component creation

Setup the Blender [bevy_components](./tools/bevy_components/README.md) add-on
Setup the Blender [bevy_components](./tools/blenvy/README.md) add-on
to add & edit your components visually & reliably

![bevy_components](./docs/bevy_components.png)
Expand All @@ -22,7 +22,7 @@ to add & edit your components visually & reliably
- custom properties
- cameras & lights if you want a complete level (as in this example)
![gltf_export](./docs/gltf_export.png)
- or much better, using [gltf_auto_export](./tools/gltf_auto_export/)
- or much better, using [blenvy](./tools/blenvy/)

## Now use your gltf files in Bevy

Expand Down
23 changes: 9 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
[![License](https://img.shields.io/crates/l/bevy_gltf_components)](https://github.com/kaosat-dev/Blender_bevy_components_workflow/blob/main/LICENSE.md)
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/F1F5TO32O)

# Blender_bevy_components_workflow
# BLENVY: a friendly Blender <=> Bevy workflow !

![demo](./docs/blender_bevy.png)

Expand All @@ -18,8 +18,7 @@ It also allows you to setup 'blueprints' in Blender by using collections (the re

* Useful if you want to use Blender (or any editor allowing to export gltf with configurable gltf_extras) as your Editor
* define Bevy components as custom properties in Blender (some visually , some using RON, though an older JSON version is also available)
* no plugin or extra tools needed in Blender (but I provide a [little Blender add-on](./tools/gltf_auto_export/README.md) to auto-export to gltf on save (and more !) if you want !)
* now also with a nice UI tool to add & edit Bevy components in [Blender](./tools/bevy_components/README.md)
* now also with an UI tool to add & edit Bevy components, automatically export gltf blueprints & more in [Blender](./tools/blenvy/README.md)
* define components in Blender Collections & override any of them in your collection instances if you want
* ability to automatically turn your Blender collections into [gltf Blueprints](./crates/bevy_gltf_blueprints/README.md) for reuse
* minimal setup & code, you can have something basic running fast
Expand All @@ -45,23 +44,19 @@ bevy_gltf_blueprints to only save a minimal subset of dynamic data, seperating d
The examples for the crate are [here](./examples/bevy_gltf_save_load/)
> Note: this uses ```bevy_gltf_blueprints``` under the hood

- [bevy_registry_export](./crates/bevy_registry_export/) This crate adds the ability to export your project's Bevy registry to json, in order to be able to generate custom component UIs on the Blender side in the Blender [bevy_components](./tools/bevy_components/README.md) add-on
- [bevy_registry_export](./crates/bevy_registry_export/) This crate adds the ability to export your project's Bevy registry to json, in order to be able to generate custom component UIs on the Blender side in the Blender [blenvy](./tools/blenvy/README.md) add-on


## Tools

### Blender: gltf_auto_export
### Blender: blenvy

- for convenience I also added a [Blender addon](./tools/gltf_auto_export/README.md) that automatically exports your level/world from Blender to gltf whenever you save your Blend file
- it also supports automatical exports of collections as [Gltf blueprints](./crates/bevy_gltf_blueprints/README.md) & more !
- an all in one [Blender addon](./tools/blenvy/README.md) for the Blender side of the workflow:
- allow easilly adding & editing Bevy components , using automatically generated UIs for each component
- automatically exports your level/world from Blender to gltf whenever you save your Blend file
- it also supports automatical exports of collections as [Gltf blueprints](./crates/bevy_gltf_blueprints/README.md) &

Please read the [README]((./tools/gltf_auto_export/README.md)) of the add-on for installation & use instructions

### Blender: bevy_components

- an add-on for Blender to allow easilly adding & editing Bevy components , using automatically generated UIs for each component

Please read the [README]((./tools/bevy_components/README.md)) of the add-on for installation & use instructions
Please read the [README]((./tools/blenvy/README.md)) of the add-on for installation & use instructions



Expand Down
36 changes: 36 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
This new release has a lot of breaking changes in the Blender tooling as well as in the Bevy crates
Here is a rundown + rationale behing the changes:


- Blender add-ons
- Auto_export:
- spliting out of gltf exporter settings
up until now , the auto export add-on provided a *subset* of gltf settings, causing issues due to lack of features (in particular for animation settings),
and it required me to play catch up every time there where added / changed settings
the Ui of Blender's gltf exporter is NOT reusable in any form or way inside another add-on . I tried various solutions such as turning the auto exporter
into a 'extension' of the standard exporter, but none of them worked in a reliable or 'nice to use' way

So I decided to split the gltf settings from the auto_export setting, this has multiple advantages:
* access to ALL gltf settings
* the gltf UI & settings will always keep up with the official releases
* less maintenance work

The only disadvantage is that the standard gltf exporter is a normal exporter, so it generates a 'fake' gltf file that immediatly gets deleted after export,
so you will need to use the new side panel to set your gltf settings:
* this is also done to ensure that the gltf settings settings used for auto export are NOT interfering with the ones you might use when exporting gltf files normally

- change detection :
after spending MANY hours analysing the issues with change detection (using some of Blender's built in logic) I came to the conclusion that it was not going to be reliable enough, so I opted for a 'hand made' brute force approach to change detection:
* every time you save (& thus export), all your scenes are serialized / hashed and that hashed version is compared to the one from the last save to determine what changed and what did not

- handling of external/ embeded / split etc collections
while adding tests I also realised that the detection of which main scenes & blueprints that needed to be exported was faulty, so I rewrote all the code in charge of that : this means that in general , based on your settings, the add-on will more accuratly export only those levels/blueprints that really NEED to be exported

- improved handling of multi-blend file projects
Up until now, all export paths where relative ** to the blend file itself** which could lead to issues when working with multiple blend files
Also for future improvements regarding assets managment, I changed the export paths to be relative to a new "project root" folder which is your *Bevy project's root folder*
- the levels/worlds now also got a seperate setting so you can easilly set where to export them too (they are not dumped out into the main export folder anymore), giving you more control over your non blueprint exports

- bevy_components
Up until now , it was not possible to have multiple components with the same name (ie ) as all the logic was based on short names
This required completely changing HOW/WHERE components are stored in objects, and they are now stored inside a 'bevy_components' custom property
8 changes: 4 additions & 4 deletions crates/bevy_gltf_blueprints/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "bevy_gltf_blueprints"
version = "0.10.0"
version = "0.11.0"
authors = ["Mark 'kaosat-dev' Moissette"]
description = "Adds the ability to define Blueprints/Prefabs for Bevy inside gltf files and spawn them in Bevy."
homepage = "https://github.com/kaosat-dev/Blender_bevy_components_workflow"
Expand All @@ -14,8 +14,8 @@ license = "MIT OR Apache-2.0"
workspace = true

[dependencies]
bevy_gltf_components = { version = "0.5", path = "../bevy_gltf_components" }
bevy = { version = "0.13", default-features = false, features = ["bevy_asset", "bevy_scene", "bevy_gltf", "bevy_animation", "animation"] }
bevy_gltf_components = { version = "0.6", path = "../bevy_gltf_components" }
bevy = { version = "0.14.0-rc.3", default-features = false, features = ["bevy_asset", "bevy_scene", "bevy_gltf", "bevy_animation", "animation"] }

[dev-dependencies]
bevy = { version = "0.13", default-features = false, features = ["dynamic_linking"] }
bevy = { version = "0.14.0-rc.3", default-features = false, features = ["dynamic_linking"] }
27 changes: 2 additions & 25 deletions crates/bevy_gltf_blueprints/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,8 @@ A blueprint is a set of **overrideable** components + a hierarchy: ie
* just a Gltf file with Gltf_extras specifying components
* a component called BlueprintName

Particularly useful when using [Blender](https://www.blender.org/) as an editor for the [Bevy](https://bevyengine.org/) game engine, combined with the Blender add-ons that do a lot of the work for you
- [gltf_auto_export](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/gltf_auto_export)
- [bevy_components](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/bevy_components)
Particularly useful when using [Blender](https://www.blender.org/) as an editor for the [Bevy](https://bevyengine.org/) game engine, combined with the Blender add-on that do a lot of the work for you
- [blenvy](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/blenvy)


## Usage
Expand Down Expand Up @@ -101,11 +100,8 @@ fn main() {
App::new()
.add_plugins((
BlueprintsPlugin{
library_folder: "advanced/models/library".into() // replace this with your blueprints library path , relative to the assets folder,
format: GltfFormat::GLB,// optional, use either format: GltfFormat::GLB, or format: GltfFormat::GLTF, or ..Default::default() if you want to keep the default .glb extension, this sets what extensions/ gltf files will be looked for by the library
aabbs: true, // defaults to false, enable this to automatically calculate aabb for the scene/blueprint
material_library: true, // defaults to false, enable this to enable automatic injection of materials from material library files
material_library_folder: "materials".into() //defaults to "materials" the folder to look for for the material files
..Default::default()
}
))
Expand Down Expand Up @@ -294,7 +290,6 @@ Ie for example without this option, 56 different blueprints using the same mater
you can configure this with the settings:
```rust
material_library: true // defaults to false, enable this to enable automatic injection of materials from material library files
material_library_folder: "materials".into() //defaults to "materials" the folder to look for for the material files
```

> Important! you must take care of preloading your material librairy gltf files in advance, using for example ```bevy_asset_loader```since
Expand All @@ -306,24 +301,6 @@ see https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/exa
Generating optimised blueprints and material libraries can be automated using the latests version of the [Blender plugin](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/gltf_auto_export)


## Legacy mode

Starting in version 0.7 there is a new parameter ```legacy_mode``` for backwards compatibility

To disable the legacy mode: (enabled by default)

```rust no_run
BlueprintsPlugin{legacy_mode: false}
```


You **need** to disable legacy mode if you want to use the [```bevy_components```](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/tools_bevy_blueprints/tools/bevy_components) Blender addon + the [```bevy_registry_export crate```](https://crates.io/crates/bevy_registry_export) !
As it create custom properties that are writen in real **ron** file format instead of a simplified version (the one in the legacy mode)


> Note: the legacy mode support will be dropped in future versions, and the default behaviour will be NO legacy mode


## Examples

https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/examples/bevy_gltf_blueprints/basic
Expand Down
Loading
Loading