Questions about importing meshes

Godot Version

Godot 4.2

Question

Hello, I’ve looked through the forum and YouTube but haven’t found a clear breakdown for the pro’s and con’s of different methods of importing meshes from Blender and using them in a project.

Specifically, when a model is brought in as .glib it contains the mesh data, material data and optionally the textures depending on the blender export settings.

This is packed into the .glib but cannot be directly modified in godot. Instead a scene must be made from it to apply a godot shader to a material slot. But this still brings in the node structure of a Node3D scene root, and then the MeshInstance3D node under it. I also see there’s an option to export the mesh itself and the textures packed in the glib as individual files for use.

When I make an inherited scane from the .glib it comes with allot of immutable node structure that wasn’t present in the blend file.
image

However if I extract the mesh and toss it into a new packed scene, it will just have the mesh itself as the scene root which is cleaner and easier to get access to the mesh properties without having to get a node reference inside the packed scene.
image

For those that work with 3d models, is this the preferred workflow? Is there a way to automate it to always kick out the mesh resource? The file path from the glib is fixed so if a mesh resource is moved, and the glib updated, it still auto-exports the mesh to the old folder location.

Is there another method I’m missing? I’ve looked at the documentation on naming suffix’s but aside from collision and a few other automated construction methods there doesn’t seem to be anything about node structure.

Tldr: Is there a way to create a packed scene from an imported .glib that just has the MeshInstance3D as the scene root (without the need to inherit the Node3D scene root auto-generated from an import) and without going through the process of exporting the mesh and creating a new packedScene with it as the root. And is that even the right way to handle mesh resources?

Thank you for any references or information you can provide to help me become more informed.

1 Like

I am also interested in a way to automate this with GLTF files. But, if you don’t need the GLTF full scene format, you could import them as .objs and there is a .obj to mesh import default setting in the project settings that might be more efficient for what you are doing.