All language subtitles for 23 RandomRowDepth

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified) Download
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:05,360 --> 00:00:08,400 Now that we're adding some bigger  global variation to the wall,   2 00:00:08,400 --> 00:00:11,360 let's also do something along  these lines with the displacement. 3 00:00:12,000 --> 00:00:15,360 In Chapter 18, we offset the  depth of the individual bricks,   4 00:00:15,360 --> 00:00:19,040 but another cool thing we can do  is offset entire rows of bricks. 5 00:00:19,680 --> 00:00:22,640 For this, we're gonna need a  random value per row of bricks.   6 00:00:26,160 --> 00:00:28,080 So to start, let's take the brick index,   7 00:00:29,280 --> 00:00:33,920 and like we saw before, if we plug it into a  White Noise, we get a random value for each brick. 8 00:00:35,520 --> 00:00:40,160 But if we add a Separate XYZ, we see  that the Y value encodes the row index,   9 00:00:40,160 --> 00:00:44,720 and is constant for all bricks within a row.  So that's the perfect input for our Noise.   10 00:00:45,360 --> 00:00:48,000 Let's switch it to 1D and plug in the Y channel. 11 00:00:49,120 --> 00:00:52,880 Now we have a random value for each  row. Let's bring this closer to our   12 00:00:52,880 --> 00:00:58,080 brick displacement. And make  these connections a bit nicer. 13 00:00:58,080 --> 00:01:01,760 Then we can use the value to offset  the rows. So let's add a Math node,   14 00:01:01,760 --> 00:01:05,360 to subtract 0.5, and center the  values around zero as always.   15 00:01:07,600 --> 00:01:11,840 And let's make some space so that we can  add another node into this offset setup. 16 00:01:16,720 --> 00:01:20,080 Let's duplicate one of these additions,  and plug our values in there.   17 00:01:25,600 --> 00:01:28,480 Then let's also add another Math  node, and set it to multiply,   18 00:01:28,480 --> 00:01:30,480 to set the intensity of the displacement.   19 00:01:32,160 --> 00:01:36,720 If we increase this value, we can clearly see  the effect it has on the displacement texture. 20 00:01:36,720 --> 00:01:41,360 So let's take a look at the shader.  The rows did indeed get offset,   21 00:01:41,360 --> 00:01:46,320 but we can immediately see that the rows that got  pushed in, are completely covered by the mortar.   22 00:01:46,320 --> 00:01:49,920 This is not really what we're looking  for. It would be nice to get the mortar   23 00:01:49,920 --> 00:01:53,840 to follow the offset of the rows. Let's  see how we might go about doing that. 24 00:01:55,200 --> 00:01:59,360 We don't want to offset the mortar using  the same texture, as it is discontinuous,   25 00:01:59,360 --> 00:02:04,240 and would cause very jarring steps in the mortar.  We need a smooth continuous texture that gently   26 00:02:04,240 --> 00:02:09,360 follows the contours of the rows. For that we'll  need a texture coordinate that is not stepped like   27 00:02:09,360 --> 00:02:13,920 the index. So let's take the input coordinates  from before we did the brick computations. 28 00:02:17,040 --> 00:02:19,600 Let's add a Reroute to bring  it to a more convenient spot.   29 00:02:21,360 --> 00:02:26,320 And adding a White Noise, we get a noisy gray  surface. This is because for each sample we're   30 00:02:26,320 --> 00:02:30,880 getting a completely random value, which  when averaged out over multiple samples,   31 00:02:30,880 --> 00:02:35,600 converges to a value of 0.5, which is  the average of all the possible values. 32 00:02:35,600 --> 00:02:39,040 This is really not going to help us,  and without having steps in the texture,   33 00:02:39,040 --> 00:02:42,240 there is no way to get usable  values from the White Noise.   34 00:02:42,240 --> 00:02:46,720 So with Shift+s, let's replace it with it's  continuous counterpart, the Noise node. 35 00:02:48,000 --> 00:02:53,040 Again, we'll want to add a Separate XYZ node, to  isolate the channels, and set the Noise to 1D.   36 00:02:55,520 --> 00:02:59,600 Now, connecting the Y channel, we get  the continuous variation we wanted.   37 00:02:59,600 --> 00:03:02,000 This is a bit too small, as  we don't want the texture   38 00:03:02,000 --> 00:03:05,680 to vary much within the height of a  single row, so let's make it bigger. 39 00:03:09,040 --> 00:03:12,720 Now, if we bring this Noise to our setup,  and compare it with the White Noise,   40 00:03:12,720 --> 00:03:16,720 we see that they are completely different,  and don't follow the same pattern at all.   41 00:03:16,720 --> 00:03:20,880 This is to be expected, as they are two  completely different noise algorithms, but   42 00:03:20,880 --> 00:03:25,520 what we are looking for is basically two versions  of the same noise, one continuous, and the other   43 00:03:25,520 --> 00:03:29,760 discrete. So that we have the same pattern  of highs and lows for the bricks and mortar. 44 00:03:30,320 --> 00:03:34,960 For that we'll have to use the same noise  algorithm in both cases. So let's replace   45 00:03:34,960 --> 00:03:40,880 this White Noise by a plain Noise as well.  And then we'll want to set it to 1D as well.   46 00:03:41,520 --> 00:03:46,720 Now we're seeing a single gray color, and even  changing the scale we still get the same thing.   47 00:03:46,720 --> 00:03:51,120 This is because due to the algorithm used to  generate the noise, it will always have the   48 00:03:51,120 --> 00:03:56,480 same value at integer multiples of the scale, and  since the input coordinates only contain integers,   49 00:03:56,480 --> 00:04:01,040 as they were floored, setting any integer  scale will cause us to only get this gray. 50 00:04:02,080 --> 00:04:07,680 So let's set this to another value. And now we see  that the texture is actually there. Let's reduce   51 00:04:07,680 --> 00:04:12,720 the detail, as we don't want small variation, and  that will also give us a wider range to work with. 52 00:04:13,280 --> 00:04:17,280 Now, if we set the same parameters for the  other Noise, and compare the two, we see   53 00:04:17,280 --> 00:04:22,480 that they still don't match up. This means that  beside the coordinates on the top being floored,   54 00:04:22,480 --> 00:04:25,920 there must be another difference between  the texture coordinates we are feeding them. 55 00:04:26,480 --> 00:04:32,240 Let's take a look in the Bricks group to find  out. Here is the Floor that we're using for   56 00:04:32,240 --> 00:04:36,400 the index. And if we follow the links  to see where the vector is coming from,   57 00:04:36,400 --> 00:04:40,720 we see that there are two operations being  applied to the coordinates before we Floor them. 58 00:04:40,720 --> 00:04:44,240 The brick offset is just randomly  offsetting the rows horizontally,   59 00:04:44,240 --> 00:04:48,960 so it doesn't affect the Y channel, but  this multiply is scaling the Y channel.   60 00:04:48,960 --> 00:04:53,840 This explains the difference we were seeing, as  we used the coordinates without this scaling.   61 00:04:53,840 --> 00:04:58,800 So let's expose these coordinates with the scaling  applied, but without the Floor. Let's call this   62 00:04:58,800 --> 00:05:03,840 output something like BaseCoords, as we use it as  the basis for all the other brick computations. 63 00:05:06,800 --> 00:05:10,400 Now, tabbing out, we can plug this  instead of the unscaled coordinates.   64 00:05:13,040 --> 00:05:17,040 Now, if we compare the two, it looks like  they are matching almost perfectly. The   65 00:05:17,040 --> 00:05:21,760 only thing is that the texture seems to move up  slightly when we switch to the discrete version. 66 00:05:23,600 --> 00:05:27,440 If we take a look at the input values  themselves, we see that this behavior is   67 00:05:27,440 --> 00:05:32,800 present there as well. The discrete coordinates  seem to be a bit higher than the continuous ones.   68 00:05:32,800 --> 00:05:38,400 If we zoom in closer, we can analyze why  that is. By definition, the Floor operation   69 00:05:38,400 --> 00:05:42,880 gives the first integer value below any  value. So that means that within a row,   70 00:05:42,880 --> 00:05:47,200 we are getting the lowest value in that row, which  is the value all the way at the bottom of the row. 71 00:05:47,200 --> 00:05:49,520 This explains why the texture seems to move up,   72 00:05:49,520 --> 00:05:53,600 as it effectively extends the lowest  value until the top. But to fix this,   73 00:05:53,600 --> 00:05:59,200 all we need to do is add a Math node, and add  0.5 to the discrete values. That way we are   74 00:05:59,200 --> 00:06:03,200 offsetting them so that they have the value from  the middle of the range instead of the bottom. 75 00:06:03,760 --> 00:06:08,000 Now, if we compare the values, they don't seem  to move anymore, the only difference is the   76 00:06:08,000 --> 00:06:12,800 discontinuity in the floored version. And looking  at the Noise outputs, we see the same thing. 77 00:06:15,600 --> 00:06:20,720 Let's organize the nodes a bit. And let's  duplicate the offset and scaling setup,   78 00:06:20,720 --> 00:06:23,200 so that we have matching outputs from both Noises. 79 00:06:25,760 --> 00:06:30,160 Now we can take this smooth row offset we  calculated, and use it to displace the mortar   80 00:06:30,160 --> 00:06:35,360 over here. As usual, we can just offset the values  by adding the offset to the mortar height map.   81 00:06:40,320 --> 00:06:47,840 Let's shift these nodes a bit, and  create a nice path for this connection.   82 00:06:50,480 --> 00:06:52,800 And then we can plug in the actual row offset. 83 00:06:53,360 --> 00:06:57,440 If we take a look at this output, it's clear  how this is affecting the mortar depth values.   84 00:06:59,360 --> 00:07:02,400 Then, if we switch to Cycles,  and look at the shader output,   85 00:07:02,400 --> 00:07:06,880 the mortar is no longer overlapping a bunch  of the bricks. But if we look from the side,   86 00:07:06,880 --> 00:07:11,280 we see that the rows are still being offset,  and now the mortar follows along nicely. 87 00:07:11,280 --> 00:07:15,520 We can even increase the scaling values a  lot, without getting undesirable behavior   88 00:07:15,520 --> 00:07:22,160 from the mortar. But ten might be a  bit too much, so let's lower it a bit. 89 00:07:26,640 --> 00:07:29,840 And then let's just frame the new  nodes, and call it Brick Row Offset.   90 00:07:31,680 --> 00:07:43,840 Then let's move everything into  place, and tidy up these connections. 11125

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.