8
$\begingroup$

I'm looking for the best way to achieve a slate roof tile effect in cycles like the attached photo. I'm not looking to create a roof like this just a single panel/tile.

To create the rough edges, I've tried subdividing a plane, selecting the outer faces, and applying a Voronoi texture displacement modifier, but I don't seem to be getting anywhere close!

My attempt so far: my attempt so far

What I'm looking to achieve! slate tile

$\endgroup$
5
  • $\begingroup$ Are you open to sculpting the detail? $\endgroup$ – Jeff Lange Feb 1 at 18:31
  • $\begingroup$ you could fake it with a photo but I guess you want real displacement... ;) $\endgroup$ – moonboots Feb 1 at 18:42
  • $\begingroup$ Yeah I was ideally hoping for displacement on the model without sculpting. $\endgroup$ – jamiers Feb 1 at 18:59
  • $\begingroup$ I've been staring at your reference for a while and I'm pretty sure it's a render to begin with x) Looks like one tile repeated and just flipped around sometimes. $\endgroup$ – Allen Simpson Feb 1 at 19:51
  • $\begingroup$ @AllenSimpson Well spotted! It repeats! Or... they could be synthetic real-world slates.. $\endgroup$ – Robin Betts Feb 1 at 21:03
14
+500
$\begingroup$

I would solve the problem with microdisplacement. I think you're in the ballpark.

My model is a cube that I scaled down on the Z axis and gave some loop cuts to.

enter image description here

Then I grabbed the top and bottom outer edge (in edge select mode) and beveled with a couple divisions.

enter image description here

And that's it, slap some adaptive subdivision on there and head to the node editor. Set your object's material to Displacement and Bump.

enter image description here

In the shader editor, you can use a Vector Math node to multiply the object coordinates by itself a couple of times and then run that output through a Gradient Texture set to Spherical to generate this interesting output.

enter image description here

You can use a Color Ramp here to define the cutoff between the jagged edge and the smooth plane. For whatever reason I used an Invert node here, but you can just flip the Color Ramp around.

enter image description here

This is the scale input of your Displacement node. Multiply it by a value that makes sense(0.04?), plug it in, and put all of this aside except for the Displacement node.

enter image description here

Now grab some fresh coordinates and start with a Voronoi texture as you first suspected. I've used a Mapping node to squish it on the Z axis which I think is more accurate to the reference. If you plug this into the height input, and plug the Displacement node into the Material Output we get immediate results because we've already set up our scale.

enter image description here

With some adjustment to the Color Ramp from before, the scale of the texture, and the Midlevel of the Displacement node, maybe this is enough for what you need.

The thing to know to actually use this is that since we're using Object Coordinates if you need to scale the object and Apply Scale, you have to go into the shader editor and make an inverse change to the Mapping nodes. This is kind of an annoyance and a failing on my end because I gave up on making this work with generated coordinates.

For example, if you've scaled this model on the X axis, you also need to decrease the scale of the X axis on the bottom Mapping node. Here's a view of how our change in the Mapping node is represented in rendered view. (This does get fiddly and again I apologize.)

enter image description here

enter image description here

You can, of course, go much further than this.

...And I have...

Around here you start getting some good results.

enter image description here

Just kidding, here's the blend file.

This is what this crazy graph looks like set to Bump Only.

enter image description here

And here's a showcase with displacement and RTX ON.

enter image description here

Every instance of the object is slightly different.

enter image description here

Microtexture in the Bump layer.

enter image description here

$\endgroup$
5
  • 2
    $\begingroup$ "You can, of course, go much further than this ...And I have..." Well played sir :)) $\endgroup$ – Jachym Michal Feb 2 at 7:26
  • 3
    $\begingroup$ Very, very, nice $\endgroup$ – Robin Betts Feb 2 at 10:27
  • 1
    $\begingroup$ Thanks so much for this it is incredibly helpful, I really appreciate it :). I'm having a bit of trouble when using a rectangle shape. In your example, you used a square which works great when using the "Spherical" option on the gradient texture but not so great with a rectangle. I tried to use the pointiness from the Geometry instead but didn't really have any luck. Didn't know if you had any further ideas? I realise I was using a square in my blender example photo, I was just trying out to see what I could achieve but in real life, they are usually rectangular in shape. $\endgroup$ – jamiers Feb 2 at 13:16
  • 1
    $\begingroup$ No problem! This question made me look at some of my old files and it turns out I needed this as well. If you mess with the X and Y scale of the bottom mapping node it should move the edges around, and the top mapping node can be used as a quick handle for the other texture scales. $\endgroup$ – Allen Simpson Feb 2 at 21:42
  • $\begingroup$ I'll actually edit this into the answer $\endgroup$ – Allen Simpson Feb 2 at 23:56

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.