godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.12k stars 69 forks source link

Extend import hints from meshes to collections when it makes sense in 3D #10517

Open viksl opened 3 weeks ago

viksl commented 3 weeks ago

Describe the project you are working on

3D Game using Blender to model.

Describe the problem or limitation you are having in your project

I use lots of mesh variations when prototyping, reference meshes, references in general in the background, test surfaces, ... All of this gets imported unless I give it -noimp hint.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

If a program offers Collections (such as Blender) or similar feature, allow the -noimp hint on the collections to block the entire collection from being imported into Godot. Maybe some other import hints would also make sense?

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

It's the extension of the existing feature.

If this enhancement will not be used often, can it be worked around with a few lines of script?

No - well maybe a pre-import script. Possibly in Blender itself too, create different files and then only save particular mesh into your blend file for your Godor project but it's cumbersome.

Is there a reason why this should be core and not an add-on in the asset library?

Import hints are already core.

passivestar commented 3 weeks ago

glTF doesn't have collections, when you export from blender they'll either get skipped or replaced by nodes if you export with the "Full Collection Hierarchy" option. it's the same with godot's .blend import because it just exports glTF from blender for you. Collections is a feature exclusive to blender

Possibly in Blender itself too, create different files and then only save particular mesh into your blend file for your Godor project but it's cumbersome.

Have you already looked at Blender 4.2 collection exporters? They allow you to selectively export to different files only the collections that you want to export, give you granular control over the export settings and store those settings right in the blend file

viksl commented 3 weeks ago

I see, I thought the export worked a bit differently. I thought there's a blender export python script given to blender to export meshes since there are various hints which godot uses such as -noimp. So we actually always export everything and then decided what not to import in Godot? I wonder if there couldn't be a better way to handle this?

passivestar commented 3 weeks ago

I wonder if there couldn't be a better way to handle this?

There is, collection exporters 🙂

viksl commented 3 weeks ago

Yeah but I mean better way to handle this in tandem with Godot's importer.