WEBVTT

00:00.810 --> 00:02.370
So we've mentioned them lots.

00:02.370 --> 00:05.010
And it's time to discuss normal maps.

00:05.010 --> 00:11.110
So welcome to normal maps in this video you will understand that they are a type of bump map.

00:11.280 --> 00:17.730
You'll gain a greater understanding of how normals actually work and also that they contain direction

00:17.730 --> 00:20.640
information and not hide information.

00:20.700 --> 00:25.470
And we will go over the fact that there are three main types.

00:25.500 --> 00:33.230
So first of all hite's Map vs. normal map a height map with a value of evil or zero toll one describes

00:33.240 --> 00:35.980
the particular surface high to any point.

00:36.000 --> 00:43.050
And we can see that can be used to displace our model if necessary and provide some level of control

00:43.080 --> 00:47.170
and even a basic bump mapping can make something look bumpy.

00:47.190 --> 00:53.520
However a normal map is slightly better in the way that it controls the direction of light across a

00:53.520 --> 00:55.500
surface.

00:55.500 --> 00:58.240
Here we have a normal map of the same surface.

00:58.250 --> 01:00.050
Now obviously these are too deep.

01:00.210 --> 01:05.580
And when we work in three dimensions we can have a whole different gamut of colours.

01:05.700 --> 01:10.560
But in this instance we can see that this zigzag repeats itself so we've got the lower half and the

01:10.560 --> 01:11.490
upper half.

01:11.490 --> 01:17.010
And when we look at the normal map for that particular shape that we've got in front of us imagine it

01:17.010 --> 01:19.060
was a profile of a 3D model.

01:19.200 --> 01:24.140
We can see that the normals are identical the first three are identical to the second three.

01:24.210 --> 01:30.250
Now that gives us no indication of height differences between those surfaces.

01:30.330 --> 01:38.430
So Norman so normal maps themselves they contain direction information not hide information.

01:38.430 --> 01:40.240
I'm not going to stop repeating that.

01:40.290 --> 01:46.320
That is important a lot of people get too confused and think that normal maps convey some sort of height

01:46.320 --> 01:46.830
information.

01:46.830 --> 01:55.110
They in fact do not the RG be colour channel values define the direction of a particular normal across

01:55.110 --> 01:56.320
a surface.

01:56.590 --> 02:04.780
An x y z components are also defined with red green and blue Have you ever noticed that the 3D gimbel

02:04.830 --> 02:09.910
in any package that you work with always sticks to these three colours.

02:10.110 --> 02:13.970
There's a not a coincidence that I'm pretty sure.

02:14.910 --> 02:19.930
So let's have a look at the first one and a hop over to my iPad and just draw this out for you.

02:19.950 --> 02:22.440
We're talk about tangent space Normal's.

02:22.650 --> 02:25.830
Okay so let's talk about Normal's in a bit more detail.

02:25.860 --> 02:32.370
If we make ourselves a triangle for the shape that we're all familiar with it will be made up of three

02:32.370 --> 02:34.950
edges and three vertices.

02:35.100 --> 02:39.900
Each one of these vertices has their own normal associated with it.

02:40.050 --> 02:44.320
Now obviously I'm stark in that 2D space when undoing a drawing like this.

02:44.370 --> 02:47.970
But this also applies to a 3-d space.

02:47.970 --> 02:54.360
Now these edges that are joined this particular one here will have a normal that something like this

02:54.990 --> 03:01.530
90 degrees to this particular edge or indeed if we imagine it's face side on that would also apply.

03:01.650 --> 03:07.340
And this particular normal is an average of this normal and this normal here.

03:08.490 --> 03:15.030
Now ordinarily when light comes in the shade controls somewhat how light is bounced off a particular

03:15.030 --> 03:15.770
surface.

03:15.810 --> 03:23.880
But in general if lights were coming in here and hitting this surface we would expect it to bounce off.

03:24.680 --> 03:31.960
At this sort of angle it was a highly specular surface that would be what it looks like and we can take

03:31.960 --> 03:34.750
control of that when we map an image.

03:34.750 --> 03:37.560
Now obviously we need a face to map an image to see.

03:37.570 --> 03:40.360
But in this case we use a 2D representation.

03:40.360 --> 03:42.850
So let me remove those light lines.

03:42.850 --> 03:44.910
So we still have some light coming in here.

03:44.920 --> 03:51.520
But instead we've mapped an image to the surface to tell the surface how to react to light.

03:51.580 --> 03:58.630
So at these three points that we have weak control how light is actually bouncing as if there was more

03:58.630 --> 04:01.160
geometry than there actually is.

04:01.570 --> 04:08.410
So we pretended for instance that the surface looked like this at this point that it looked like this

04:08.470 --> 04:09.540
at that point.

04:09.670 --> 04:17.410
And it looked like well I don't know that at that point and we can do that with a normal map then we

04:17.410 --> 04:20.730
would see that the light would bounce off considerably different.

04:20.740 --> 04:28.530
So at this point it would bounce back off like that here is likely to bounce off like that.

04:28.540 --> 04:30.930
In fact that might be a bit overkill in that case.

04:31.060 --> 04:37.120
And this point here will bounce back off like that and we can see that this gives us a great deal of

04:37.120 --> 04:45.400
control about how light is interacting with our surface itself much more control then a simple height

04:45.430 --> 04:46.090
map.

04:46.090 --> 04:51.970
Now often these two things are used in conjunction with one another in order to make a model look more

04:51.970 --> 04:53.220
realistic.

04:53.680 --> 04:58.350
Okay so let's have a look now at tangent normal maps an example of them.

04:58.340 --> 05:03.240
This leaves over one of the most common ones along with object space.

05:03.250 --> 05:06.940
Normal maps as well so a cover tangent first.

05:06.970 --> 05:13.870
So here we have a view where we can see that smooth shading makes a difference where flat shading is

05:13.870 --> 05:18.880
you can see that on the normal map and where the cube is says hang on a minute.

05:18.880 --> 05:20.750
Why can't we see the cube on the normal map.

05:20.770 --> 05:26.310
And the reason for that is because the top of the cube is the same direction.

05:26.410 --> 05:34.780
It has the same normal direction as the plane itself and therefore it has no direction change and no

05:34.780 --> 05:37.390
colour change on the normal map.

05:37.660 --> 05:43.030
So a normal maps appearance when creating normal maps they are affected by whether or not the meche

05:43.060 --> 05:50.680
object has smooth shading turned on normal direction is very important otherwise the map will end up

05:50.680 --> 05:52.860
useless and you won't be able to use it properly.

05:52.870 --> 05:59.140
So if we take the same scene again but this time inverts the Normal's of all of the objects that we're

05:59.170 --> 06:05.410
mapping we can see that we end up with a much bolder normal map happening.

06:05.410 --> 06:09.690
And that is actually going to be useless for us if we're using tangent space.

06:09.700 --> 06:14.000
Normal maps is not going to look very nice.

06:14.110 --> 06:15.790
Now there are other normal maps.

06:15.790 --> 06:22.330
Now I know at the beginning I said there are three types but there are four I suppose in general and

06:22.330 --> 06:24.270
a couple of them really aren't used.

06:24.280 --> 06:26.790
And two of them are very similar to one another.

06:27.100 --> 06:29.560
So there are three other normal types.

06:29.560 --> 06:32.890
We've got the camera world an object.

06:32.890 --> 06:39.910
These are all reference points for the normal map and they all have their uses and issues as all of

06:39.910 --> 06:42.170
these things do when we've got choice.

06:42.340 --> 06:45.970
So using the camera at normal space that is highly restrictive.

06:45.960 --> 06:52.780
This is the Normal's according to the camera view itself so if you've got a static camera it's going

06:52.780 --> 07:00.790
to be possibly fine to use it in here but you cannot move the view of a scene without breaking the illusion

07:00.790 --> 07:07.180
of detail as the lighting effect will get worse the further you deviate from that particular view point

07:07.390 --> 07:11.030
because it's the Camrose changing how the normals react.

07:12.370 --> 07:14.410
Using the world space.

07:14.470 --> 07:17.320
Now this is also quite restrictive.

07:17.320 --> 07:19.030
Not as much as the camera.

07:19.330 --> 07:25.220
You cannot rotate deform anything made within the world normal space without breaking the lighting illusion

07:25.270 --> 07:30.810
the moment you do that especially if you change the lighting it will break down.

07:31.760 --> 07:34.000
So using the object normal space.

07:34.010 --> 07:42.560
Now this is a more optimized form and is often used in games because it takes less computational power

07:42.800 --> 07:49.130
because there is a one to one mapping to your objects so you can only use it once as it has this one

07:49.130 --> 07:51.260
to one mapping to the object.

07:51.260 --> 07:55.090
So you can't reuse a normal map across multiple items.

07:55.170 --> 08:01.880
That's let's say we've got a brick work type normal map where you could use that over lots and lots

08:01.880 --> 08:02.630
of different models.

08:02.630 --> 08:05.290
However an object normal space.

08:05.330 --> 08:11.660
Well it's got a one to one mapping to the object so unless the another object is either incredibly similar

08:11.990 --> 08:15.290
or the same we cannot use it on anything else.

08:15.290 --> 08:20.810
Now this is also called local or model space as well as object space.

08:20.810 --> 08:27.090
Now it can generate higher quality maps as the normals are replaced not adjusted.

08:27.200 --> 08:29.880
So with a tangential base it is a.

08:29.900 --> 08:37.550
The normals are adjusted whereas with an object they are replaced with more Normal's so slightly better

08:37.550 --> 08:44.030
rendering performance can result from this and it's easier to visualize because if something is facing

08:44.030 --> 08:51.140
down it will have a completely different normal then if it's facing up now with tangent space we often

08:51.140 --> 08:52.020
see that.

08:52.080 --> 08:58.790
If if a Normal is 90 degrees from that particular face pointing up it will be the same colour wherever

08:58.790 --> 09:00.470
it is on the model.

09:00.470 --> 09:02.950
So using the tangent normal space whereas that you.

09:02.970 --> 09:09.140
Well they are great because they are reusable Regardless subscale defamation or etc. of a model so their

09:09.140 --> 09:16.900
great when used with animation for instance it can be difficult to avoid smoothing issues.

09:16.940 --> 09:24.560
They do save memory and bandwidth because we are Count collating but because we count chelating they

09:24.560 --> 09:28.030
have a slight impact on performance.

09:28.100 --> 09:32.800
They can also be tiled and scaled etc. So that's great.

09:32.810 --> 09:39.500
If we want to use a tiny normal map that we've made on one object much like we did with the displacement

09:39.500 --> 09:45.660
map a moment ago where we changed the ground using a normal map that already existed in our scene.

09:45.770 --> 09:47.280
That's a great too.

09:47.370 --> 09:52.010
There was an enormous mazzara displacement mouth but you can see there that we can reuse these things

09:52.010 --> 09:53.400
over and over again.

09:53.570 --> 09:58.970
And that obviously saves us a lot of work if we can reuse something and it's not no too noticeable that

09:58.970 --> 10:00.010
we're reusing it.

10:00.020 --> 10:03.530
Especially when you're working on models of completely different scales.

10:03.530 --> 10:08.840
It's unlikely that you would notice that the same texture was being used across multiple models.

10:09.530 --> 10:12.340
So using normal maps outside a blender.

10:12.380 --> 10:19.790
Now some external programs or engines will interpret your normal maps differently so adjustments may

10:19.790 --> 10:20.930
be required.

10:20.930 --> 10:24.090
That's just a word of caution when you're exporting.

10:24.110 --> 10:26.900
Most are going to be absolutely fine.

10:26.990 --> 10:31.370
However there will be some times where it doesn't quite work how you wanted it to.

10:31.460 --> 10:35.020
In which case we would have to adjust the normal maps accordingly.

10:36.130 --> 10:37.690
Okay so it's Challenge time.

10:37.690 --> 10:41.460
I'd like you to think about which technique would you use.

10:41.500 --> 10:49.390
So looking at the various normal mapping options which ones would you use in your scene and why now

10:49.390 --> 10:51.840
there's a hint here you can use any of them.

10:51.880 --> 10:54.760
So why is the important part.

10:54.790 --> 10:57.700
Share your ideas in the discussions.

10:57.830 --> 11:00.420
Pause video now and give that a go.

11:02.950 --> 11:04.450
OK guys welcome back.

11:04.630 --> 11:06.990
So which technique would I use.

11:07.000 --> 11:09.040
There is no right or wrong here.

11:09.040 --> 11:16.590
As with most things in blender Now I will be using tangent space for the majority of my models.

11:16.720 --> 11:23.980
And the reason for that is I am still prototyping a want to reuse maps where ever possible cross my

11:23.980 --> 11:24.650
model.

11:24.670 --> 11:29.100
I don't want to have to create unique ones every time for every individual model.

11:29.110 --> 11:33.630
Now if I had a unique item that I knew that there was absolutely no chance.

11:33.730 --> 11:36.920
I may also use an object space.

11:36.940 --> 11:39.000
Normal map for instance.

11:39.000 --> 11:44.830
I suppose if I produced a lectern or something like that I may use an object space for that but everything

11:44.830 --> 11:45.250
else.

11:45.250 --> 11:49.900
I think I'm going to end up using tangent space for what did you come up with.

11:49.900 --> 11:52.300
Did you share your ideas in the discussions I hope you did.

11:52.300 --> 11:56.420
I look forward to reading them and I will see you guys in the next lecture.
