Hello Simon Thommes! My name is Aaron Franke. I am one of the main maintainers of the glTF import and export pipeline in Godot Engine. I would love to get involved in this project, and to get you and other Blender folks involved in the existing channels I’ve been using to discuss developing the asset pipeline. We at Godot, GD3D, and OMI have been working on the Godot and glTF side of the asset pipeline for awhile and we want to collaborate.
I saw in this Blender Studio Log 10 video that you are working on the glTF asset pipeline: https://www.youtube.com/watch?v=Q5Jj1c_F6QA
Between 7:15 to 7:40 in the video you mention that you set up a system in Blender to specify physics collision primitives. I have already done this on the Godot side via the OMI_physics_body glTF extension. In fact, it’s already merged into the engine, and is already in the currently released 4.3 version. Godot PR here GLTF: Update `OMI_physics_body`, add `OMI_physics_shape`, keep `OMI_collider` by aaronfranke · Pull Request #78967 · godotengine/godot · GitHub and glTF extension specification here gltf-extensions/extensions/2.0/OMI_physics_body at OMI_environment_sky · aaronfranke/gltf-extensions · GitHub Also, my friends at GD3D are working on a Blender addon called Bless which provides the capability to export glTF files from Blender with this physics data. You can find that project here GitHub - gd-3d/bless: blender level editor software suite
At 9:00 in the video I can tell that Blender Studio is currently not using our OMI physics system because you have a node named @CollisionShape3D@23577
and our system ensures that shape nodes have human-readable node names. It would improve interoperability and make things easier for you if we work together on this, so you avoid repeating work that we have already done.
I also saw that you are working on animations. I also recently implemented the KHR_animation_pointer glTF extension, which is already merged into Godot’s master branch and will be available in the upcoming Godot 4.4 release in a few weeks. Godot PR here https://github.com/godotengine/godot/pull/94165 and glTF extension specification here glTF/extensions/2.0/Khronos/KHR_animation_pointer at main · KhronosGroup/glTF · GitHub
See this proposal: Allow importing a 3D model file as a mesh resource (or material/etc) instead of a scene · Issue #7494 · godotengine/godot-proposals · GitHub
For collision, we don’t need a GODOT_*
extension, since we have OMI_*
extensions for this already merged into Godot 4.3, plus there is some work towards making these KHR_*
extensions.
This can be solved with glTFX (formerly known as glXF) which allows multiple scenes to be composed together. Blender should add the ability to export one .blend file with 3 collections as 3 glTF files linked together with one glTFX. As for the Godot side, I’ve already made a complete implementation as a GDScript addon here: GitHub - aaronfranke/godot-gltfx-reference-format: Godot implementation of the glTFX Reference Format, also known as glTF External Reference, glTF Experience Format, or glXF: https://github.com/KhronosGroup/glTF-External-Reference (it’s not part of the engine yet because glTFX is a Khronos effort and it is still in draft stage).