1
$\begingroup$

I am wondering if there is an easy nondestructive way to determine which faces of an object get one material vs. another.

For example, if I have a low poly mountain created by adding the "landscape" add-on and then I want to apply a "snow" material to the upper faces without manually assigning them by selection, can I use a hidden cube to overlap the ones I want the "snow" material for and then have that determine the assignment?

Can this be done in geometry nodes or material nodes somehow?

I always prefer nondestructive editing as it provides much faster prototyping and experimentation.

Thanks for any ideas.

enter image description here

$\endgroup$
1
  • $\begingroup$ try GN:Geometry Proximity $\endgroup$
    – NatureK
    Commented Mar 14, 2022 at 0:41

1 Answer 1

1
$\begingroup$

This is a "typical" use case for shader nodes and a little math.

You could e.g. use this node tree to give water to you landscape:

enter image description here

It simply chooses the color by using the z coordinate. Everything which is less then a value you choose will be painted blue.

By using this method you could add different colors to different ares like this:

enter image description here

if you then add a noise texture to make it more random and look more realistic, you could even animate your snow ;)

enter image description here

of course you can always tweak and tune it more and more...like giving waves to your ocean and animating it with color ramp and wave texture:

enter image description here

if you want to control the color by another object e.g. a plane, you can use this node setup:

enter image description here

result:

enter image description here

$\endgroup$
2
  • $\begingroup$ Wow. Very nifty. Thanks for the detailed and elaborate techniques. :) $\endgroup$
    – mike
    Commented Mar 16, 2022 at 7:05
  • $\begingroup$ Glad I could help. I learnt myself a lot by doing it 😉 $\endgroup$
    – Chris
    Commented Mar 16, 2022 at 7:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .