Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:05,200 --> 00:00:07,760
At this point, our bricks are
starting to look pretty good,
2
00:00:07,760 --> 00:00:10,800
so let's take a moment to bring
the mortar up to the same level.
3
00:00:11,600 --> 00:00:15,760
Our viewport is a bit slow, because we took
the subdivisions up in the last chapter,
4
00:00:15,760 --> 00:00:20,640
so let's set the viewport levels a couple of
steps lower. Remember that the subdivisions are
5
00:00:20,640 --> 00:00:25,520
only relevant for the displacement in Cycles,
so this doesn't change anything here in Eevee.
6
00:00:27,120 --> 00:00:31,360
Currently, our mortar is just a completely
flat plane, whose displacement level is
7
00:00:31,360 --> 00:00:35,280
defined by this single Value node.
Instead of just a constant value,
8
00:00:35,280 --> 00:00:39,120
we can create a texture to vary the height
of the mortar, like we did with the bricks.
9
00:00:39,680 --> 00:00:43,840
This time, let's see how we can combine different
patterns to create a more complex texture.
10
00:00:44,800 --> 00:00:48,080
Mortar often has a kinda blobby
characteristic, and for that,
11
00:00:48,080 --> 00:00:50,240
a good starting point is the Voronoi Texture.
12
00:00:51,120 --> 00:00:55,920
Now we need to feed it a reasonable texture
coordinate. For the mortar, we want a continuous
13
00:00:55,920 --> 00:01:00,640
texture throughout the plane, so we don't
want to use our tiled coordinates. Rather,
14
00:01:00,640 --> 00:01:04,960
we can just add a new Texture Coordinate node,
and plug in the plain Object coordinates.
15
00:01:05,680 --> 00:01:10,560
Then we can use Ctrl+H to hide the unused
sockets, to keep everything more compact.
16
00:01:11,520 --> 00:01:15,360
The Voronoi Texture has a few outputs.
If we take a look at the first one,
17
00:01:15,360 --> 00:01:20,880
we see some radial gradients in cells. The cells
are spawned from points scattered in space,
18
00:01:20,880 --> 00:01:24,160
and the gradient color within each
cell, tells us the distance from
19
00:01:24,160 --> 00:01:28,800
the cell's seed point. This means that at
the seed point, the value should be zero,
20
00:01:29,360 --> 00:01:34,080
however, we don't see a black dot at the center
of each cell here. That's because the points
21
00:01:34,080 --> 00:01:39,840
are being evaluated in 3D space, so not all
points are located on the surface of the plane.
22
00:01:40,400 --> 00:01:43,760
In this case, we just want to
compute a 2D texture, on the plane,
23
00:01:43,760 --> 00:01:48,320
so let's set the Voronoi to evaluate in
2D. This makes it ignore the Z channel
24
00:01:48,320 --> 00:01:54,080
in the coordinate space, and now we
see a black dot inside every cell.
25
00:01:54,080 --> 00:01:58,800
Now let's add a Reroute after the Value node,
which allows us to easily plug other values into
26
00:01:58,800 --> 00:02:04,640
both the Greater Than and Maximum nodes at once.
Then we can plug our new texture into the Reroute,
27
00:02:04,640 --> 00:02:08,720
and taking a look at the Maximum, we see
the bricks and the Voronoi texture combined.
28
00:02:09,600 --> 00:02:12,880
Now let's see what this does to our
shader, by looking at the final output.
29
00:02:15,280 --> 00:02:18,640
One thing we can notice is that the
Voronoi texture is causing the mortar
30
00:02:18,640 --> 00:02:22,960
to poke through the bricks in some places, as
the texture is going higher than the bricks.
31
00:02:23,600 --> 00:02:27,360
Our texture is also a bit too big for
the concrete look that we are going for,
32
00:02:27,360 --> 00:02:32,320
so let's adjust the scale a bit. Now,
taking a closer look, these seem like cones,
33
00:02:32,320 --> 00:02:36,320
pointing inwards towards the wall, and
indeed that's exactly what's happening here.
34
00:02:37,840 --> 00:02:43,440
We want our blobs to come out of the wall instead,
so let's invert these cones with a subtraction.
35
00:02:43,440 --> 00:02:47,920
Subtracting them from a value will invert
them, and also allow us to offset them at once.
36
00:02:48,800 --> 00:02:52,800
As the range of distance values from the
Voronoi tends to be between zero and one
37
00:02:52,800 --> 00:02:56,640
(though they can also go above
one), let's subtract it from 0.5,
38
00:02:56,640 --> 00:03:03,840
that way, our range will be around -0.5 to 0.5,
and therefore centered around the zero plane.
39
00:03:03,840 --> 00:03:06,640
Now the cones are pointing away
from the wall, like we wanted,
40
00:03:06,640 --> 00:03:11,120
and they are also poking through the bricks less
often, as we offset them a bit into the wall.
41
00:03:11,840 --> 00:03:15,760
But now we still have a texture that looks
like a field of cones, with these sharp points,
42
00:03:15,760 --> 00:03:19,840
which is not exactly what we want.
But we can easily round the points,
43
00:03:19,840 --> 00:03:22,880
using the same technique that we used
to round the edges of the bricks.
44
00:03:23,680 --> 00:03:28,480
If we look at the values before the subtraction,
the points of the cones have a value of zero,
45
00:03:28,480 --> 00:03:32,160
and as we saw when we beveled the
bricks, a power plot has a smooth curve,
46
00:03:32,160 --> 00:03:38,080
and is tangent to the horizontal axis at zero. So
it's perfect to completely round over our points.
47
00:03:38,880 --> 00:03:43,280
Adding a Math node, setting it to power,
and using an exponent of, perhaps, two,
48
00:03:43,280 --> 00:03:45,840
the points in the center
of the cells get smoothed.
49
00:03:47,760 --> 00:03:51,600
Now looking at the final output, we get
the blobby texture we were looking for,
50
00:03:51,600 --> 00:03:56,480
rather than the sharp pointy texture we had.
But at the base of the blobs, where they touch
51
00:03:56,480 --> 00:04:01,280
each other, we still have a completely sharp
line. Basically nothing in the real world has
52
00:04:01,280 --> 00:04:06,560
such sharp lines, so it'd be nice to soften
that. Luckily, we can easily achieve this,
53
00:04:06,560 --> 00:04:12,160
by changing the Voronoi mode from F1 to Smooth
F1. This immediately softens the transition.
54
00:04:12,880 --> 00:04:17,600
Changing the mode also exposed a new Smoothness
input, which we can use to control how soft we
55
00:04:17,600 --> 00:04:23,360
want the transition to be. One is probably a bit
too much, so let's set it to something like 0.5.
56
00:04:24,400 --> 00:04:30,240
The texture is smooth now, but it's unnaturally
neat. We want to make these blobs noisy. We could
57
00:04:30,240 --> 00:04:34,400
just add a noise texture on top of this, but
then the shapes of the blobs would still be the
58
00:04:34,400 --> 00:04:39,840
same. Instead, we can actually distort the blob
texture itself, to make it more noisy and natural.
59
00:04:40,560 --> 00:04:44,720
For that we can again use our handy Distort
group, that we made in the previous chapter.
60
00:04:45,520 --> 00:04:48,560
Let's increase the Scale a bit,
to make the noise slightly finer,
61
00:04:48,560 --> 00:04:52,560
but not too much, as we still want it to have
a broad effect on the shape of the cells.
62
00:04:53,280 --> 00:04:56,960
Then let's increase the Detail and
Roughness to get that rough concrete look.
63
00:05:01,520 --> 00:05:08,480
Now, increasing the intensity, we see the blobs
get a lot more fuzzy. At higher values like this,
64
00:05:08,480 --> 00:05:13,200
it's difficult to see the individual cells, but
the Voronoi still contributes to the specific
65
00:05:13,200 --> 00:05:17,440
look of this texture, which is something we
wouldn't be able to achieve with just a Noise.
66
00:05:18,960 --> 00:05:22,080
Let's take a look at the new texture
in Cycles, with the displacement.
67
00:05:23,280 --> 00:05:27,360
To get a good look, let's crank up the
viewport subdivisions to seven again.
68
00:05:30,560 --> 00:05:35,440
It looks like the mortar texture might be a bit
too intense with the displacement, so let's add
69
00:05:35,440 --> 00:05:40,000
a Math node after this whole setup, so that we
can multiply the texture to make it less intense.
70
00:05:48,640 --> 00:05:51,840
Something like 0.3 seems more reasonable.
71
00:05:53,600 --> 00:05:56,720
Changing the distortion intensity
allows us to set how much of the
72
00:05:56,720 --> 00:06:00,160
blobbiness we want to show through,
versus how noisy it should look.
73
00:06:05,440 --> 00:06:08,240
Switching back to Eevee we can
lower the subdivisions again.
74
00:06:10,080 --> 00:06:19,840
Then we can frame the new nodes, and call it
Mortar. And then just align everything nicely.
75
00:06:22,960 --> 00:06:27,600
Now just to recap what's going on here, for the
mortar, we are generating a texture that covers
76
00:06:27,600 --> 00:06:32,480
the entire plane continuously. Then we have a
texture for the bricks, which leaves the gaps
77
00:06:32,480 --> 00:06:38,240
at a very low value, well below zero. Then, to
combine the two, we use a Maximum. Because the
78
00:06:38,240 --> 00:06:42,000
mortar texture has lower values than the
brick texture wherever there's a brick,
79
00:06:42,000 --> 00:06:46,960
but higher values in the gaps, this causes the
mortar texture to only show through in the gaps.
80
00:06:47,520 --> 00:06:50,800
And finally, to create a mask that
differentiates between the bricks
81
00:06:50,800 --> 00:06:54,880
and mortar at the exact boundary where
they meet, we are using a Greater Than,
82
00:06:54,880 --> 00:06:58,960
which just tells us where the brick
texture is higher than the mortar texture.
83
00:06:58,960 --> 00:07:00,400
The great thing about this setup,
84
00:07:00,400 --> 00:07:03,600
is that no matter what texture we
use for the bricks, or the mortar,
85
00:07:03,600 --> 00:07:08,080
they'll always join nicely, without the need
for us to manually make a mask to combine them.
86
00:07:08,720 --> 00:07:12,080
That brings us to the shader
output. And now we can delete
87
00:07:12,080 --> 00:07:15,840
the Value node that we were using as
a placeholder for the mortar texture.
10923
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.