Hey guys I've recently been looking at Godot since Unity has set itself on fire. I'm liking it so far but I've run into a small issue that disrupts my usual workflow. I like to store multiple meshes as separate objects in a single .blend file for meshes that are very related to each other like pieces of a build kit. I was able to split the meshes into separate scenes by opening the .blend scene, right clicking and allowing children to be editable, then exporting each branch to a new scene. This works as expected with one problem. The exported branches don't update their mesh when I save changes to the blend file. Is there a fix for this?
If not I can always split the blend into multiple files. Its just less convenient. Perhaps exporting to colladae would work too? I didn't try that yet but ideally I would like to keep using blend files only to avoid exporting every time I make a change.
I haven't worked with 3d models in a year or so, but gltf was the way to go for me at the time.
The reason the saved scenes done get updated is because you're actually saving them as a physically separate file when you export the branch to a new scene. There is no workaround for that since you're making a physical copy of the data and storing it in a different place on the hard drive.
What about modifying the importer to automatically export each branch to a new scene?
A few things to note there:
That importer is probably part of the engine code, probably in C++, and if it is it will require recompiling the engine and using your custom build for your game.
From the docs on 3D importing:
So it looks like the blender importer is already using the (recommended) gltf format anyway.
There is the Godot Blender Exporter which you may find useful instead.
You can write a tool script that extends EditorPostImport and do things with the scene on import without having to modify engine code. I've used this to great effect on gltf files.
EditorPostImport sounds promising. Hopefully I can make it save the branches or update them if they already exist. Thanks!