3
$\begingroup$

I have a scene with two mountains, one is blue, and I would like the other one the small one) to be pink.

enter image description here

In edit mode, objects have been separated (P).

When I click on the second object and add a new material with the "+" sign of the material tab, it creates a new material.

Then I SHIFT + RMB the materials, to be able to "Copy Material to Others"

enter image description here

I then go in the new instance of the material (by clicking on the small mountain), and change the color with a green (I know I said pink... forgive me)...

enter image description here

... and all the colors change! But I was just in another color, I just wanted the small mountain to change.

Even the other instances of materials I created with the "+" button have all changed to green suddenly. Every one of them. On both meshes.

enter image description here

So, are node-based materials like physics simulations, in that "there can be only one"?

Obviously it's possible to recreate materials from scratch every time, but... there's gotta be a way to "unlink" these material settings, so that I can make a new object, apply this material and then change the color or texture, based on the existing tree?

Here is another example of trying to duplicate a material and all the materials changing together when I only edit one of them:

enter image description here

$\endgroup$
  • $\begingroup$ You have either 2 objects that use the same datablock (this can happen e.g. if linked duplicating via Alt+D) or one material for 2 objects. Related - blender.stackexchange.com/questions/23386/… or blender.stackexchange.com/questions/2852/… $\endgroup$ – Mr Zak Apr 11 '16 at 10:26
  • 1
    $\begingroup$ In your last gif it is affected by the same problem - you use the same material for both slots. This is covered in both added here and linked answers. The main thing to look at is number of users to the right from material's name. $\endgroup$ – Mr Zak Apr 14 '16 at 11:57
4
$\begingroup$

First you don't need to separate your mountains into different objects to assign different materials to different parts, you can have multiple materials on the same object using several material slots per object for that.

Just go to the Properties Window > Materials and In the List press the + button to create a new slot and assign a new material to it. In edit mode you can then select which part of the mesh you want associated with that material by selecting the corresponding faces, selecting the desired material slot and then pressing the Assign button.

As for the materials themselves, you can create a new one from scratch or you can base a new material of an existing one.

You should first start by naming your materials properly so as to avoid an endless list of Material.### that doesn't give you a clue of what you are doing. Then if you want to base a material from an existing one, you can choose it from that list (a descriptive name will help a lot here) and after selecting it there should appear a small number next to it. That number indicates how many objects are using this material you just assigned.

enter image description here

By clicking on that number you will make a Single User of that material, which means it will now become a new unique and independent material not used by any object but maintaining the same settings and node setup of the original.

If this workflow doesn't suit you you can always add a new material from scratch, go to the original one you want to copy from and copy-paste with Ctrl + C, Ctrl + V to copy the nodes from one to the other.

$\endgroup$
  • $\begingroup$ I accepted your comment, but I am still finding the problem in some cases... I added an animated screen grab at the end of the question to show the two materials changing together even after duplication. $\endgroup$ – MicroMachine Apr 14 '16 at 3:07
  • $\begingroup$ You did not press the number button as described in my answer, you didn't make it single user, so what you are doing in that screen grab is using the same material in two different slots in the same object. You are simply renaming the material, so you see the name changing in both places. You have to press the + button first to make it a unique material. $\endgroup$ – Duarte Farrajota Ramos Apr 14 '16 at 14:01
  • $\begingroup$ Just to make clear i mean the +button in front of the name box, to add a new material, as opposed to the one on the side that will add a new Material Slot $\endgroup$ – Duarte Farrajota Ramos Apr 14 '16 at 14:04
  • 1
    $\begingroup$ Hi, I've edited my original question with a last gif where I follow thoroughly your advice (renaming, clicking on the "2"), and where all the materials change again when I think I'm only editing one. Thanks for your help and patience! $\endgroup$ – MicroMachine Apr 15 '16 at 20:48
  • $\begingroup$ @DuarteFarrajotaRamos I have thousands of objects for which I need to update their materials' nodes/links using Blender's Python API. I am pretty new to nodes stuff in Cycles and I haven't been able to wrap my head around how I can do that. I wonder, do you know how one can do that? If so, could you please take a look at my question here and see if you can offer a solution? $\endgroup$ – Amir Mar 8 '18 at 17:04
4
$\begingroup$

This probably has already been solved by the OP, but I came across this problem myself and searching for an answer I stumbled upon this post.

And for the sake of those eventually looking to solve the same problem, I'd like to add an important detail:

The answer given by Duarte Farrajota Ramos is correct, yet the OP said he was still having trouble, and in fact so did I after following his instructions (in fact I was already doing all that he said even before seeing his answer, and it wasn't working), the problem here is the nested/grouped nodes inside the material, they have defined users as well, and if you just make the main material (in the material tab) single-user, the alterations you make on the first level of nodes in fact won't be passed on to the original materials, but if you alter the inner layers, I mean, alter things inside the groups that compose the material, it WILL change the original material you used as a base. Note, this will happen even if you create a material from scratch and copy/paste the nodes from another material, cause the data of the inner groups is still being shared between materials, only the outer layer is in "single user mode".

To solve this, you must simply create the new material, make it single user on the material tab by clicking it's users number (if there is any), this will make the outer node layer single user. Then go in node edit mode, look for the grouped nodes and do the same, you'll see they have their own users number, click on that, and now you can alter whatever you want, and nothing will get out of that material.

Material tab, you can see there are no users, yet I was still getting my base material changed:

Single user outer layer

Node editor, and here I found the problem, the inner node group was being shared with other 8 materials:

Multi user inner layer

This is indeed some really basic stuff, but for newcomers it might prove to be a challenge, cause it may just pass unnoticed that you must clear the users from all layers. Hope I can help someone. Cheers!

$\endgroup$

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.