3
$\begingroup$

I tried to have this clay look to my model, and I used the material override to have all materials look like the default white. Works fine, but I would like to highlight the building I'm working on.

Is there a way to have everything the default white color except for that building only?

enter image description here

$\endgroup$
2
  • $\begingroup$ what method did you use for having the material override? $\endgroup$
    – Sanbaldo
    May 16 at 10:36
  • $\begingroup$ under view layer there is an option to use override which simply uses one single material for all of the objects in the file. This is a really simple way to have this clay look. I am using a few plugins for trees and all of their leaves and branches and all that have different materials so it is much easier to use this override function than to manually set all materials to white. $\endgroup$
    – ghosts
    May 16 at 17:34
6
$\begingroup$

You can use the Pass Index to indicate to the material how to treat specific objects in your scene.

For those objects you want highlighting, set the Pass Index to a specific value (in this case, '1') :

pass index

In your material, use the Object Info node to get the Object Index and compare it to determine how to shade your object (in this case I've used the result of the compare to choose between colours in a MixRGB node) :

compare object index

This produces the following result (with the cube set to index '1' and everything else left at index '0') :

result

To change the highlighted object, simply update the Pass Index to disable the previously highlighted one and enable the new one.

$\endgroup$
2
  • 1
    $\begingroup$ Oh, that's a good solution! I was trying to come up with one but that didn't work. Just curious: is there a specific reason you've set Epsilon to 0.1? Because the index is an integer and it should work with 0 or isn't it? $\endgroup$ May 17 at 22:36
  • $\begingroup$ Thanks :-) It’s usually best to avoid exact comparisons with values as even though the pass index is an integer it’s getting compared to a floating point (the ‘value’ in the node). With floating point there is always the risk of a slight inaccuracy so it’s good practice to compare with a small tolerance to avoid problems. In this case, it probably doesn’t actually matter though. $\endgroup$ May 17 at 22:44

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.