enter image description here

How can I make a texture like this? I don't know how to combine transparency with concrete material.

  • $\begingroup$ is there a kind of iridescence or is it just lights reflection? $\endgroup$
    – moonboots
    Nov 11, 2022 at 15:53
  • $\begingroup$ @moonboots yes, there is iridescence as well $\endgroup$
    – 8paula
    Nov 11, 2022 at 15:56

1 Answer 1



A simple way to fake Iridescence in Blender is by using the Layer Weight node's Facing data, and color it with a ColorRamp:


For the color ramp, set the Color Mode to HSV and Color Interpolation to Near, then set the right controller to a Bright Teal (#00FEA9), and the left controller to a Persian Rose (#EE109C). Thanks to the Near HSV setup, the other colors will be already set up when you create the other controller, you will just have to adjust their saturation and position on the ramp to your liking.


We can reuse the Facing data, and use it as a factor on a Mix shader so to have that facing pixels are a Transparent BSDF and fade away towards a Glossy BSDF with our Iridescence texture:

mix transparency


The simplest concrete shader is a Musgrave texture, with a Multfractal type, small scale like 2, a max of Detail, and 0 Dimension. Use that as color, roughness and bump data into a Principled BSDF node with a few extra nodes in between to tweak the values and hues:


Mixing up

Mixing two different shaders is just a matter of using a Mix Shader as you saw above. Now, what's interesing is how it transitions from A to B. It can be pretty mush anything you want.

In this example, I will try to replicate what I see in your example: it seems to follow a vertical textured gradient. So I will make a vertical textured gradient.

For the vertical gradient, I will use the location of an empty object I added in the scene. The Texture Coordinate's Object output allows me to get that info, which gives me a gradient that starts from the empty object's position in the scene. I can isolate the Z position using a Separate X Y Z, and then scale the empty object on its Z axis to control where the gradient ends:


I can then clamp the gradient values between zero and one, and then overlay it on a low Lacunarity Musgrave texture via a Mix RGB node on Overlay mode to get this textured gradient:

textured gradient

Finally, I can use that gradient as factor for mixing the Iridescence on top of the Concrete shaders:

final mix


You must log in to answer this question.

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