← All ideas

Automatic material replacement/ remember material assignment overrides (for imports)

Blender should have a feature to automatically replace materials of imported objects. That way, CAD models, or externally imported files could be rendered out much more easily, since the materials assigned in the CAD program could be automatically replaced by Blender's materials. Also, you don't need to assign materials for every new iteration, once set, each new design version should come in with the appropriate material assignments from Blender.

In other software it works as follows:

  1. The user imports "Model001"
  2. Any materials assigned to imported objects in Blender is remembered, i.e. Blender material A is assigned to CAD Material B
  3. The user changes "Model001" in a different application and saves it as "Model002"
  4. Subsequently, when "Model002" is imported, it will inherit the material assignments that were already done, meaning CAD Material B > Blender Material A.

This feature is independent of the file that is imported, it is just about remembering user assignments of materials to subsequently replace the source material with a material of choice. The idea here is, if the user carefully assigns materials in an external application, this would propagate into Blender and the work should only be done once. Subsequent models would no longer need to be manually edited for their material assignments.

100%

Development Status: Open

Upvote 8 Downvote 0
Hologram
10 Jan 2022

4 Comments

alokupa

@bassem.adel Can you pls give some detailed info how it is possible?

bassem.adel

Well there is a solution inside blender for local import addons (FBX or DAE ...etc) or doing copy paste from file to file , which is material utilities , you press shift+q to call the menu then you replace base names , that will update the materials accordingly instead of renaming them to .001 and so on

EzyPoly

Hm good idea. I think it needs separate node editor "material overrides"... It also may be usefull not only for such task but also override some scene materials to checker for example..

thinsoldier

I'm trying to imagine how this could work within Blender's existing systems.

In another program you define 8 materials and assign them to various faces on the mesh.

You import the file into blender and it automatically has 8 material slots.

You create 8 Blender materials for those slots.

You import a newer version of that same source file.

You should be able to select both the old import and the new import and link the materials with [Object > Link/Transfer Data > Link Materials]

Yes it could be more streamlined if we had an "import mesh file" object like we already have an "import open vdb file" object. With materials defined at the object level it would be 1 step to tell the "import mesh object" to refresh the file it's pointing at or to point it at a different file with the same number of material slots.