Open Pardy4 opened 1 year ago
This is so desperately needed tbh. It's very painful to have to fight a _post_import tool script to do this when the option is right there, just with tauntingly poor usability. It kinda feels like it would be more efficient to just write a bash script to move my mouse through the GUI at this point lol
Can you check if https://github.com/godotengine/godot/pull/86430 addresses this?
@calinou It doesn't look like its the same problem. That is within a single resources reimport popup, whereas this ticket is functionally asking to have the ability to do bulk/batch actions that the single-resource reimport tool can do, but across many imported resources at once. We're an abstraction layer above it
Until this can be implemented and for anyone that might like the import script Gunmatazar created a post on Reddit with the following code to do just this:
@tool
extends EditorScenePostImport
var material = preload("res://Assets/Terrain/texture/BaseMaterial.tres")
func _post_import(scene):
scene.get_children()[0].set_surface_override_material(0, material)
return scene
Describe the project you are working on
Hex based tactics battle game
Describe the problem or limitation you are having in your project
There is no way to quickly perform when importing "advanced import settings > actions... > extract materials > select folder > extract" on multiple imported resources. There is also no option to use an external material.
An example:
I am using the Kenney hexagon kit which contains 63 different models. If you wanted to extract the materials so that you can edit them all and have them all change together. All 3 of the below tiles use the "grass" material. For the plain "grass" I have gone actions>extract materials and saved them in a materials folder. I have then changed the albedo colour to tone the grass a more realistic colour. The other two tiles "building_village" and "building_wall" have not changed material.
In the multiple import menu, there is no option to extract materials or use external.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Two possibilities
Add the actions button when selecting multiple resources on the import tab as it appears for selecting a single resource, and introduce functionality. This would allow actions to be done to all selected resources, meaning a manual action doesnt have to be done for every resource.
Add an import option for a path to look for external materials. Material names would have to match. A second sub-option to generate material if not found.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
If this enhancement will not be used often, can it be worked around with a few lines of script?
There could be a plugin to do this, but it feels like it should be a core part of the import process.
Is there a reason why this should be core and not an add-on in the asset library?
This applies to every resource imported with materials