feat(tools:gltf_auto_export): big ux improvements (#28)

* export_main_output_name => export_output_folder & the blueprints folder is now relative
to this one
* exported main scene gltf file name is now created based on the Blender scene name, not settable
* blueprints folder defaults to "library"
* the exporter now defaults to enabled blueprints, & enabled change detection in library
* added handling of export parameter changes
 * ie when the gltf parameters (gltf vs glb, compression etc), are changed
the next time you save , all the models are re-exported

* feat(tools:gltf_auto_export): major overhaul & optimisation of library export
 * added change detection handling so only the actually changed collections get exported on save
 * works with actual changes (ie clicks/ selections don't count)
 * this means "progressive" export of only the changed parts, WAY faster
 * removed "export_on_library_changes" setting, which was semi redundant with the library toggle itself
 * also scans for already existing exports on disk (for "first runs" in a Blender session)
 * many smaller cleanups

 * added logic to save/load export parameters in operator
 * parameters are thus now persisted even if the addon is removed & added back
 * based on standard gltf exporter
 * operator presets are now fixed as well & can be used normally
 * added injection of saved parameters in case there is a save attempts after installing the add_on
  and there where previously saved settings

* feat(tools:gltf_auto_export): added support for multiple main & lib scenes
 * with scene picking & filtering
 * adding a scene to the list now only works once you selected a scene from the picker

* docs(tools/gltf_auto_export): updated docs
This commit is contained in:
Mark Moissette 2023-10-22 15:21:55 +02:00 committed by GitHub
parent 921a5ef331
commit 6a40cdfd3f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 665 additions and 1329 deletions

Binary file not shown.

View File

@ -1,5 +1,5 @@
({
"world":File (path: "advanced/models/world.glb#Scene0"),
"world":File (path: "advanced/models/World.glb#Scene0"),
"models": Folder (
path: "advanced/models/library",
),

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 54 KiB

View File

@ -2,7 +2,14 @@
For convenience I also added this [Blender addon](./gltf_auto_export.py) that
- automatically exports your level/world from Blender to gltf whenever you save your Blend file.
- it also supports automatical exports of used collections as [Gltf blueprints](../../crates/bevy_gltf_blueprints/README.md) & more !
- in Blueprints mode (highly recommended !) :
- supports automatic exports of used collections as [Gltf blueprints](../../crates/bevy_gltf_blueprints/README.md)
- supports any number of main/level scenes
- Blender scenes where you define your levels, and all collection instances are replaced with "pointers" to other gltf files (all automatic)
- supports any number of library scenes
- Blender scenes where you define the assets that you use in your levels, in the form of collections
- automatic export of **changed** objects & collections only ! a sort of "incremental export", where only the changed collections (if in use)
get exported when you save your blend file
## Installation:
@ -25,10 +32,27 @@ For convenience I also added this [Blender addon](./gltf_auto_export.py) that
![blender addon use](../../docs/blender_addon_use.png)
* set the autoexport parameters : output path, name of your main scene etc in the **auto export** panel
* set the autoexport parameters in the **auto export** panel:
![blender addon use3](../../docs/blender_addon_use3.png)
- export folder
- pick your main (level) scenes and library scenes (see the chapter about Blueprints below)
- click in the scene picker & select your scene
![select scene](../../docs/blender_addon_add_scene.png)
- click on the "+" icon
![select scene2](../../docs/blender_addon_add_scene2.png)
- your scene is added to the list
![select scene3](../../docs/blender_addon_add_scene3.png)
* and your standard gltf export parameters in the **gltf** panel
![blender addon use2](../../docs/blender_addon_use2.png)
@ -84,12 +108,6 @@ and what actually gets exported for the main scene/world/level
all collections instances replaced with empties, and all those collections exported to gltf files as seen above
### TODO:
- [ ] add ability to have multiple main & library scenes
- [ ] detect which objects have been changed to only re-export those
## License
This tool, all its code, contents & assets is Dual-licensed under either of

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff