Commit Graph

110 Commits

Author SHA1 Message Date
Mark Moissette
ea1d6cd78f
fix(tools/gltf_auto_export): various fixes (#31)
* fix exporter settings when changing blender project breaking the exporter
 * add auto creation of library folder if it does not exist (also any gltf export path where folders are missing)
 * main/level scene(s) now gets generated if there was no change, and they have never been generated before
2023-10-23 18:46:22 +02:00
Mark Moissette
6a40cdfd3f
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
2023-10-22 15:21:55 +02:00
Mark Moissette
921a5ef331
fix(tools:bevy_gltf_blueprints): (#27)
* fix(tools:bevy_gltf_blueprints):
 * fixed missing rotation in blueprint collections (if there is any)
 * fixed similar issues with scale 
 * fixed issues with active collection at the time of saving/export being poluted by temporary data
* refactor(bevy_gltf_blueprints): minor cleanups
2023-10-14 20:47:35 +02:00
Mark Moissette
5683f01cea
fix(tools:gltf_auto_export): fixed issue with subcollections not being exported for blueprints (#25) 2023-10-14 14:21:16 +02:00
Mark Moissette
27a061fc06
feat(tools): add ability to mark unused collections for export (#17)
* closes #11 
* bumped Blender tool version to 0.2
* changed storage of internal data to WindowManager instead of Scenes: this fixes a few issues & logical flaws
* updated docs accordingly
2023-10-10 22:08:19 +02:00
Mark Moissette
528e13a250
feat(): Blueprints, crates, enhanced Blender tooling & more (#5)
* 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
2023-09-28 14:10:45 +02:00
Mark Moissette
d9060a4d6b
chore(cleanups): overall minor cleanups & tweaks (#3)
* split documentation between main docs & example docs
* clearer seperation between example, blender add on etc
*  some  minor code quality improvements based on Clippy linting
* minor tweaks & additions to Blender & gltf example files: swapped out one mesh collider 
   for a capsule collider for demo purposes
* cleanups, tweaks, badges etc
2023-08-12 00:35:14 +02:00
kaosat.dev
b3b643c427 feat(tools): updated blender_auto_export_gltf
* library scene is not a must have anymore
 * added option to scene prefered library scene name
 * option to auto-export on library changes is more coherent
 * renamed variables for more clarity
 * y-up is default
2023-07-29 16:41:57 +02:00
kaosat.dev
d37e38ada1 chore(tools): reduced minimal blender version (should also work with earlier ones ?) 2023-07-27 18:32:27 +02:00
kaosat.dev
6eace81fde feat(tools): added & slightly improved Blender gltf-auto-export tool 2023-07-26 23:34:08 +02:00