The bevy team is already working on that. They just need a better way of declaratively building entity hierarchy’s that works as code and also in asset files. After that the official bevy editor will be built using those new tools.
I've been following the project for a couple of weeks now and just finished setting up my pipeline after watching your video. It was extremely helpful and I can't wait to see what the community can do with this integration. I agree with you that blender is a really nice tool to dovetail with bevy. I'm excited to see the ways blender will enable devs to make interesting design and workflow choices.
I use something similar to add point lights to meshes. Though I only go one way, from Blender into Bevy, and I just use blender stuff and parse it in Rust to add the neccessary bevy components
I think this is way less hacky than the project that TanTan did making some binding system between unity and bevy ecs. TanTan was also (IIRC) using unity as a renderer and visual live editor, whereas this is using blender as a scene editor for bevy. It's a (bevy -> unity) vs. (blender -> bevy) difference of workflow/tech, and one I think there is more merit with since the biggest need for a visual editor is constructing static things and trying them out dynamically (in-engine) as fast as possible. This working with blender is also very neat because a lot of people are going to use blender anyways for 3D modelling, playing with shaders or even making procedural sprite generation, and while unity has made advances with shader graph and VFX graph, that stuff is inherently extremely engine specific. Even if the bevy editor becomes something that partially replaces the need for something like this, I think there are workflows that this enables that can inform decisions for such an editor, and this existing as a way for 3D artists to not have use the bevy editor is a positive thing in my opinion. More workflow possibilities means more teams can use bevy!
There is a video by Sandeep Nambiar where they created "Bevity" to allow using the Unity editor with Bevy as the actual game engine. I believe the project was already in process by the time Unity had their runtime fee fiasco.
This is very cool. Now I need a machine that can actually handling developing bevy applications. Right now I get extremely bad performance with the bevy examples programs. I was running the "fog" example and measured a horrific 24 frames per *minute*.
I believe so. It supports adding arbitrary components and physics/collision crates like bevy_xpbd have features that create colliders from meshes (collider-from-mesh). So does rapier_3d. I was able to add AABBs in the video as well, although not visually represented in Blender. There are some notes in the project README that indicate it could get easier in the future, so I'd say it has support but maybe not "visual collider drawing" support yet.
Hey chris awesome video. I managed to get things set up I just have one problem; exporting to .glb does not save the texture pattern configuration. In Blender, I have a Cube mesh that I put some materials on from blenderkit. The pattern repeats itself in Blender, but when I export and load it in Bevy, it just got stretched out on each side. I figured this is probably because I haven't done proper setting on the mesh and material while exporting (not really sure if this is it though), but I would appreciate if you would make a video on how to prevent this, thanks.
I was looking to make something like this because Blender has strong plugin support but what I really want is to make geometry with the tooling of Valve's Hammer editor in Blender with adding component data like this or Godot. Really I just want to make levels like in Hammer but with out the source engine spaghetti
So if you make a change and save the blender file, say resize or add a coin, what happens? Will the game just update live immediately, or are there compile steps or other changes? I don't think you ever show or mention that.
bevy's asset system supports hot-reloading. If you're changing asset-type things like .blend files then hot-reload should work, if you're changing Rust code you have to do an incremental compile.