Commit Graph

65 Commits

Author SHA1 Message Date
kaosat.dev
a947d3b7d1 feat(Blenvy:Bevy): added built in support for Scene/Level Animations
* VERY clunky code so far, needs a massive cleanup, but works !
 * modified relevant code
 * modified testing/example
 * related minor tweaks & changes
 * small changes to blend project to test instance vs blueprint level animation controls
2024-07-08 21:45:29 +02:00
kaosat.dev
70931ee163 chore(Blenvy:Bevy): more cleanups 2024-07-08 13:30:46 +02:00
kaosat.dev
459bb868e0 chore(Blenvy:Bevy): cargo fmt 2024-07-08 13:18:21 +02:00
kaosat.dev
c326a11243 feat(Blenvy:Bevy): added back basics of animation support
* updated logic to account for bevy 0.14 changes (animation graph, transitions component etc)
 * added back & updated per blueprint animation example to the testing project
 * updated matching blend file with new style components
 * spawnHere => spawnBlueprint
 * added back tagging of Blueprint contents with "InBlueprint" / noInBlueprint
 * overall cleanup pass (wip)
2024-07-08 13:14:06 +02:00
kaosat.dev
3099f98532 feat(Blenvy:Bevy): cleaning up
* removed clutter
 * moved hot reload to seperate module
 * added back "assets loaded" event, removed useless events
 * registered HideUntilReady component for users
 * minor tweaks & cleanups
2024-07-08 09:49:47 +02:00
kaosat.dev
bef709a0ed feat(Blenvy:Bevy):
* bumped up Bevy version to v0.14 !
 * fixed (albeit in a clunky way) issues with sub blueprint detection
 * improved error message for missing material library
 * added HideUntilReady component & logic, to hide 'in-spawning' blueprint instances until they are ready
 * "add-to-world" is now only trigerred for blueprint instances that have no parents (avoid footgun)
 * minor cleanups & tweaks
 * added test component with Vec3 to double check for issues
 * updated test blend file to include the component above + added a light to the test spawnable blueprint
to check for "light flashes" (aka indirectly testing "HideUntilReady")
2024-07-07 22:21:12 +02:00
kaosat.dev
fbcd025dc1 feat(Blenvy): continued restructuring & upgrade of blueprint spawning logic
* updated simple test to include deep nested blueprint instance within blueprint instance case
 * restructured materials handling to use the new logic, removed clutter
 * experimenting with solutions to the deeply nested blueprint instances problem
 * moved out all obsolete code to "old" folder, keeeping around until all problems are solved
 * added hack-ish solution to the "aabb system as post process" implementation
 * various minor boilerprate changes
2024-07-05 12:56:51 +02:00
kaosat.dev
6dde9823ed feat(Blenvy:Bevy): almost complete rework of blueprint spawning workflow (wip)
* added logic to track spawning of sub blueprints
 * added ability to determine when a blueprint instance is truly ready
  (aka all its assets have been loaded, blueprint scene & sub scenes spawned & processed etc)
 * reworked spawning steps for more determinism & reliability
 * no more "seperate" spawning post process
 * lots of related changes
 * still messy but functional
2024-07-02 14:32:39 +02:00
kaosat.dev
07d58467c4 feat(Blenvy):
* Blender: some additional component filtering for upgrade ui
 * Bevy:
   * experimenting with overhauled blueprint spawning logic, sub-blueprint instance tracking etc
   * added a more simple blend file to test things out with
2024-07-01 23:35:59 +02:00
kaosat.dev
6cbb144746 feat(Blenvy:Bevy):
* cleaned up hot reload code a bit
 * renamed a few things for clarity
 * experimented with hiding entity while spawning & showing it again after spawn to
try and remove "flashes" happening when spawning blueprints with lights
 * for testing example, fixed dynamic spawner test
2024-06-29 01:51:49 +02:00
kaosat.dev
49e797fea7 feat(testing): updated the two main testing blend files
* added additional test "upgreadeable components"
 * added test "buggy" hierarchies: blueprint instances as children of empties and blueprint
instances as children of other blueprint instance
 * more materials
 * testing cases for various levels of nesting/ targets for components
 * reorganized objects in 3d scene for more clarity
 * changed camera view for more clarity
 * added background color & filmic
2024-06-28 00:12:15 +02:00
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