Commit Graph

54 Commits

Author SHA1 Message Date
kaosat.dev
75d7f940ae chore(): minor tweaks & experiments 2024-06-26 14:35:47 +02:00
kaosat.dev
959951bca4 feat(Blenvy:Bevy): experimentation with hot reload: it works !!
* but it is VERY VERY messy right now
 * BlenvyAssets => BlueprintAssets
 * lots of tweaks & experiments & related changes
2024-06-25 18:34:26 +02:00
kaosat.dev
ee5c74aa9e refactor(Blenvy): deprecated BlueprintName (& BluprintPath), and replaced them with BlueprintInfo
* contains both name & path
 * also experimented with merging the asset load tracking into BlenvyAssets by adding the fields from the
asset loading tracker & ignoring them/ defaulting them for deserialization
2024-06-25 00:45:39 +02:00
kaosat.dev
253d33f1bb feat(asset preloading): experimented with using the underlying gltf crate
to get the list of assets & preload them
 * a tiny bit clunky but works and is somewhat cleaner than the previous "staggered loading" approach
 * enables having level load state (could be used for progress information & co)
 * modified blueprints spawning to used the new system
 * various cleanups & related tweaks
 * fixed issues on the Blender side when with the formating of the ron data for assets
2024-06-24 23:47:36 +02:00
kaosat.dev
ed5dfeb3cd feat(Blenvy): removed local assets, as they are useless, renamed AllAssets to BlenvyAssets 2024-06-22 13:58:43 +02:00
kaosat.dev
56763879b1 feat(Blenvy): added an "all-in-one" (almost) Blenvy crate
* includes components, registry export & blueprints
 * overhauled settings / config to match the new structure
 * keeping the different sub plugins for now
 * cleaned up some of the internals of the blueprints code
 * related tweaks & cleanups
 * added events to blueprints : for when assets have been loaded & when a blueprint has been spawned (wip)
 * various experiments with blueprints
 * updated testing to make use of new crate & logic
2024-06-20 00:05:02 +02:00
kaosat.dev
00bf600ccf feat(Blenvy): updated (most) of the crates' code to bevy 0.14 (rc)
* tweaked & changed code where relevant
 * also added support for the new gltf_xxx_extras in bevy_gltf_components
 * animation support needs an overhaul given the extensive changes in v0.14 (wip)
 * still a giant mess, but works
 * examples not yet updated, will get overhauled
 * testing project is now independant from the "common" example code: ie no debug ui, no physics,
no bevy_asset_loader
 * testing project WORKS , even without any of the above, so asset loading (even if rough), is functional !
 * added VERY rough hierarchy/ components debug to testing project to visualize things
without bevy_editor_pls egui & co
 * related tweaks & changes
2024-06-18 22:30:59 +02:00
kaosat.dev
1686aca655 chore(testing): removed dependency on rapier etc for testing project 2024-06-17 11:55:09 +02:00
kaosat.dev
295c387132 refactor(Blenvy): BIG cleanup
* removed old blender add-ons, there is now only Blenvy !
 * updated most of the main docs accordingly
 * updated project name in main README
 * etc
 * related tweaks
2024-06-10 14:08:16 +02:00
kaosat.dev
1fdb45bab6 feat(Blenvy): basic working loading of levels & assets
* removed/ obsoleted blueprintsList
 * now using AllAssets (meh naming)
 * modified example & internals to enable loading levels as Blueprints as well
 * internals quite messy for now, needs a big cleanup still
 * disabled materials library for now, needs to be overhauled to make use of asset logic as well
 * added more mock assets for testing
 * related changes to blender & bevy side
2024-06-09 23:14:49 +02:00
kaosat.dev
0432769bda chore(testing): added missing component filtering 2024-05-12 11:05:45 +02:00
kaosat.dev
310ee194a9 chore(): cargo fmt 2024-05-07 00:40:47 +02:00
kaosat.dev
7e6805f221 chore(testing): added example of filtered out components 2024-05-06 14:35:57 +02:00
kaosat.dev
664e04b05c chore(testing): updated registry 2024-05-06 14:35:19 +02:00
kaosat.dev
0ca57ba6de feat(bevy_components): continued refactor to use long names instead of short names & co
* changed all various uses of short name to long_name
 * same for type_names
 * also changed bevy_registry_export to output "long_name" instead of "title" for coherence
 * related changes & tweaks
 * still WIP
2024-05-05 22:04:25 +02:00
kaosat.dev
e7118f2565 chore(testing): updated registry export 2024-05-03 00:27:43 +02:00
kaosat.dev
98a654095b feat(bevy_components): added basic of hashmap/map support
* added handling of additional map flags
 * added map handling in conversion from prop group
 * added basic (& clunky) UI
 * related boilerplate
 * added various testing components to try this out & experiment with
2024-05-03 00:22:51 +02:00
kaosat.dev
49917e3b17 feat():
* cleaned up crate code
 * added duplicate named component to testing project to resolve issues with clashing short_names for bevy components
2024-04-30 11:58:03 +02:00
kaosat.dev
9138c81c60 refactor(): removed remains of legacy mode 2024-04-30 11:33:05 +02:00
kaosat.dev
f387fbec48 chore(testing): modified paths to account for new changes on the blender side 2024-04-29 00:06:45 +02:00
kaosat.dev
74b12b9b06 chore(testing): moved blend files into "art" folder 2024-04-26 23:01:58 +02:00
kaosat.dev
8b3c2e8ff4 feat(testing): expanded testing data to a lib & main file to test external assets etc 2024-04-19 22:48:44 +02:00
kaosat.dev
1041656dc7 chore(testing): tweaks to testing blend file 2024-04-16 13:03:31 +02:00
kaosat.dev
2d459abaf3 chore(): cargo fmt 2024-04-15 23:02:09 +02:00
kaosat.dev
742c5b19f0 chore(): some clippy changes 2024-04-15 22:54:25 +02:00
kaosat.dev
8683a6482f refactor(animation): renamed instancexxx to scenexxx (ie InstanceAnimations & InstancePlayerLinks) 2024-04-08 23:48:07 +02:00
kaosat.dev
62686ecb61 chore(): cleared some data in testing file 2024-04-06 00:21:55 +02:00
kaosat.dev
1b1fc31d5d chore(testing): test file tweaks 2024-04-05 23:19:46 +02:00
kaosat.dev
1cf47d36b1 refactor(): cleanups 2024-04-05 10:52:14 +02:00
kaosat.dev
0998decb39 feat(animation): changes & some reverts of the latests experiments 2024-04-05 00:17:07 +02:00
kaosat.dev
0528286b12 chore(): updated blend file 2024-04-03 13:10:44 +02:00
kaosat.dev
66df7fae99 feat(animation):
* moved triggering of frame marker events to the blueprints crate
 * added additional handling of frame markers for blueprint animations (yikes is this convoluted)
 * added additional animated blueprint for testing blueprint animation markers
2024-04-01 00:26:23 +02:00
kaosat.dev
49dd0bc536 chore(): cargo fmt 2024-03-30 23:43:58 +01:00
kaosat.dev
2523691513 refactor(animation): cleanups , reorg & tweaks 2024-03-30 23:43:09 +01:00
kaosat.dev
df3e335114 feat(animation):
* renamed Animated component to AnimationInfos, fleshed it out with additional
frame informations etc
 * restructured & cleaned up Bevy & Blender code in those areas a bit
 * various related minor tweaks
2024-03-30 18:29:43 +01:00
kaosat.dev
c44d82e7dc feat(animation): added basic handling of animation markers
* added additional component on the Bevy side + experimented with handling the data in the testing setup
 * added parsing of animation markers on the Blender side + injection of custom property/ component
 * rough around the edges, but the basics work !
2024-03-30 02:40:52 +01:00
kaosat.dev
1f959c51bd chore(): minor tweak 2024-03-23 00:02:34 +01:00
kaosat.dev
ce473a357e feat(animation): split animation logic/components into Blueprint vs Instance animations
* renamed existing animation components with Blueprint prefix
 * added almost identical but seperate InstanceAnimations & InstanceAnimationPlayerLink
2024-03-22 13:59:01 +01:00
kaosat.dev
27201e5cd6 feat():
* sucessfull experiment with ways to animate world level objects, using
the same logic as the blueprint animations
 * made required changes
2024-03-22 11:11:45 +01:00
kaosat.dev
0b64de79da chore(testing): experimenting with scene level animation handling 2024-03-22 00:29:33 +01:00
kaosat.dev
4f5f3be317 chore(): minor tweaks 2024-03-21 21:37:10 +01:00
kaosat.dev
4f50c4f6d2 feat():
* auto_export now injecting the list of available animations into the "Animated" component
  for any object with animations
 * modified bevy side struct to match
2024-03-21 15:25:50 +01:00
kaosat.dev
a001ee21f6 test(auto_export):
* fleshed out testing of hierarchy
  * added export of serialized hierarchy from the bevy side & comparing it with a reference
 one on the python side
  * various tweaks
2024-03-20 17:57:06 +01:00
kaosat.dev
b51a0d38e2 chore(testing): made nesting cases even more complex to cover different scenarios 2024-03-20 12:32:39 +01:00
kaosat.dev
c2f09fbf22 feat(): added 'animated' flag component (wip) to mark any worlds/blueprints entities that have animations
* allows to not be restricted by bevy's a bit weird logic for AnimationPlayers
 * updated crate & tooling
 * updated testing example with a bit more complex nesting cases for testing
2024-03-19 22:12:37 +01:00
kaosat.dev
7584078f6d chore(testing): minor tweaks to testing blend file 2024-03-19 14:20:13 +01:00
kaosat.dev
1c51d10da7 chore(auto_export): further exploration & experimenting
* now trying to copy the animation to the "empty" placeholder using animation linking operator
 * now in gltf viewer we can see the two animations/actions, but still nothing in Bevy
2024-03-18 22:26:06 +01:00
kaosat.dev
98eef2c755 chore(testing): added animation of a blueprint instance for testing 2024-03-18 20:07:03 +01:00
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
Mark Moissette
09915f521d
chore(Bevy): Update to bevy 0.13 (#136)
* chore(crates): updated crates to Bevy 0.13
   * updated deps
   * updated / changed code where relevant
   * updated README files
   * bumped version numbers for upcoming release
   * updated rust-toolchain
   * updated assets where relevant
   * closes #132 
* feat(bevy_gltf_components): 
  * added GltfProcessed flag component to improve performance of iteration over added<gltfExtras>
  * closes #144 
  * light & shadow processing is now integrated,  to match  lights coming from Blender: you can now control whether 
  lights cast shadows, the cascade resolution , background color etc  from Blender
   * closes #155 

* feat(bevy_registry_export): added boilerplate to make registry path relative to assets folder 
  * closes #137 
* feat(tools): added boilerplate for internal tools
   * clean zip file generator for blender add-on releases
   * example gltf file generator
* feat(lighting): added components, exporter support & testing for blender-configurable shadows
   * added BlenderLightShadows component to bevy_gltf_components
   * added writing shadow information to gltf_auto_export
   * updated tests
   * closes #157 

Co-authored-by: Jan Hohenheim <jan@hohenheim.ch>
2024-03-04 22:16:31 +01:00