2
$\begingroup$

I have a collection that contains linked assets. I would like to override their materials and give them a unique material. Is it possible to assign a material to a whole collection, and how ?

Thanks !

$\endgroup$
1
  • $\begingroup$ but if you append the assets - updated geometry isn't reflected in the linked files... so a override option is urgently needed $\endgroup$
    – nw42
    Jun 13 '19 at 21:16
4
$\begingroup$

You can override the materials from linked sources that are part of the same collection, just the same way you can override not linked ones.

In the scene context section you can find the options for override, you can select a single material and that will be used for all objects.

enter image description here

From the blender manual:

Material Override

Overrides all material settings to use the Material chosen here.

Examples of where this might be used:

To check lighting by using a plain diffuse material on all objects. Render a wireframe of the scene. Create a custom render pass such as an anti-aliased matte or global coordinates.

$\endgroup$
1
  • 3
    $\begingroup$ Worth noting: at this time, this only works with Cycles. When using Eevee, the Override panel is hidden $\endgroup$
    – z0r
    Jul 16 '19 at 0:21
2
$\begingroup$

If your model consists of only one object you can link the mesh/object data rather than the whole object, then create a new object in the scene and set the mesh/object data to the linked one. You can then add any material you want (as only the mesh is linked) and any changes done to the original mesh will still be made to the linked one. Note however that modifiers will not be linked this way and you will have to re-add them yourself.

Edit : Here is a clear answer with pictures :

1 - Create your model 1 - Create your model

2- Notice the name of the object data : enter image description here

3- Duplicate the object using Alt-D to maintain the same object data (as shown) : enter image description here

4- Go to material settings for each object and change material link to object instead of data (data is the default option). You can also do this step before duplicating if the number of objects is big : enter image description here

Now you can assign different material to each object : enter image description here

Any changes applied to the mesh will affect all objects but each will have its own material : enter image description here

Notice that modifiers are object specific and if you change the modifier settings of one object it won't reflect on the duplicates (only mesh changes are shared) : enter image description here

$\endgroup$
1
  • $\begingroup$ Hello and welcome to the site! As of now your answer is quite hard to follow. Could you add some screenshots or menu directions so it's easier to understand? $\endgroup$
    – palkonimo
    Jun 26 '19 at 11:00
0
$\begingroup$

The only way to do this is to change the materials in the original file(s).

The whole purpose of linking is to have one source in eventually multiple projects. Change the source and all the projects get updated, that have links to that source.

In your case, the collection should be the source and other projects should create links to this collection. If you do it the opposite direction, the collection doesn't make much sense.

$\endgroup$
5
  • $\begingroup$ Okay, but what if I have a collection of assets I reuse often in a file, with each assets having several materials assigned... But that for a specific project, I don't need materials, just a unique one / clay / whatever ? How would you handle this ? $\endgroup$
    – gordie
    Apr 10 '19 at 6:49
  • $\begingroup$ @gordie - you would append the asset to that specific project. Appending creates a "local" copy in the new file, that can be modified. $\endgroup$ Apr 10 '19 at 10:11
  • $\begingroup$ The idea is to have kind of a clay material for the whole scene... $\endgroup$
    – gordie
    Jun 14 '19 at 7:30
  • $\begingroup$ @gordie - where's the problem with that? You just assign that clay material to every object. Can even be done in one step. $\endgroup$ Jun 14 '19 at 23:23
  • $\begingroup$ in each file then, not in the scene containing my linked objects ? $\endgroup$
    – gordie
    Jun 16 '19 at 9:46
0
$\begingroup$

What i found is: Mark the whole Collection, press CTRL+L, select Material and select the material you want.

That will Link the selected material to the whole selection.

source

$\endgroup$
1
  • $\begingroup$ Yes ! Working ! But what I would love is to be able to set a material to the collection (an object would keep its own materials but it would be overriden by the collection material). $\endgroup$
    – gordie
    Oct 19 '20 at 7:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.