1
$\begingroup$

As the title says, I'm looking for a way to clip a Sky Texture Background to above the Horizon only, anything below it should be black. I tried using the clip function of the mapping node but the result is something else. I also tried combining the sky texture with an rgb node with a mix shader and using the mapping node as Fac but didnt find a solution. Please show me a working node setup.

$\endgroup$
1
  • $\begingroup$ you talking about cycles here? $\endgroup$
    – David
    Commented Apr 23, 2018 at 12:29

1 Answer 1

1
$\begingroup$

You can use Generated texture coordinate with World to read Z axis on -1 to 1 range. Here -1 is straight under, 1 is straight up and 0 is the horizon. Taking it from there, you could simply use Math node to test for Greater than 0. Math node returns 0 for under 0 and 1 immeadiately above 0 so you can achieve a sharp mask.

Clipped to black below 0

For smoother options you could use Color Ramp node, it even conveniently ignores anything below 0 in the range.

EDIT: Here are couple setups for Color Ramp. First ColorRamp range from horizon to Zenith, horizon is on the left of the ColorRamp at value 0.0.

ColorRamp range from Horizon to Zenith

And here we have shifted the -1 to 1 range between 0 and 1 by adding 1 and multiplying by 0.5. Horizon is in the middle of the ColorRamp at value 0.5.

ColorRamp range from Ground to Zenith

$\endgroup$
4
  • $\begingroup$ Thank you very much, your a genius! Btw I used it for the Fac of a Mix Shader that I mixed a RGB on black with, now it works as intended. $\endgroup$
    – John McDon
    Commented Apr 23, 2018 at 12:00
  • $\begingroup$ Ok, so I added the Color Ramp between the Separate XYZ and the Color/Fac and it works, the only problem is, it doesnt go below the horizon. Gotta figure out how to achieve that. The good thing is you get the easing. $\endgroup$
    – John McDon
    Commented Apr 24, 2018 at 21:08
  • $\begingroup$ @JohnMcDon I added some ColorRamp examples. $\endgroup$
    – kheetor
    Commented Apr 24, 2018 at 21:19
  • $\begingroup$ Thanks again, I already implemented the Add and the Multiply node to move the border and control the easing. I made a node group for this but it's rather meant to be used as a factor for a mix node. If you wanna check it out: blenderartists.org/forum/… $\endgroup$
    – John McDon
    Commented Apr 27, 2018 at 7:15

You must log in to answer this question.

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