Hi there, this is Oliver Villar from lentus.com and today we are going to see how to create
normal maps and baking textures.
So first of all, I'd like to make an introduction to what normals are and how the procedure
of projecting normal maps works.
So you can start doing it more or less knowing what you are doing and why you are doing it.
So first of all, we start by defining normals.
Let's see, let's say these are two phases, right?
Faces, each phase in its center has a normal, right?
This normal defines the direction in which this phase is looking to, right?
So this is looking up and this is looking in diagonal, right?
This normal tells a blender or the software 3D that you use, in this case it's a blender.
It tells a blender in which direction the light should reflect this surface, all right?
So the more polygons you have, the more detail you have and the more smooth these transitions
are, right?
Because here, yes, if you have flat polygons, it will be very rigid.
If you have the smooth polygons, it will be pretty smooth.
But it's not the same as if we have here in this corner, we have a lot of polygons making
it a cure, all right?
It's much more detail, okay?
So now I'm going to explain how the projection of the normal map works.
So let's say we have here a polygon.
This will be the low resolution mesh.
And now in red, we have much more polygons, all right?
And this is the high resolution mesh.
Okay, now these phases have a normal, right?
Let's say this phase, for example, have this normal.
All this plane is looking upward.
But this high resolution mesh have a lot of normals, right?
Each polygon is looking in one direction.
So how the projection of the normal must work, well, here, what it will be doing, it's projecting
a ray to the inside part of the low resolution mesh, okay?
For example, for analyzing this pixel, for rendering it, it will project this ray, okay?
And here, in the point of collision with the high resolution mesh, it will analyze in which
direction the normal of that point is looking at, okay?
So it's looking this way.
So in this part of the texture, what it will do is store information about that direction.
And it stores that information by using RGB colors, right?
Blue defines the depth of that point.
And red and green defines the directions from forward to backward and from left to right.
So depending on the amount of each color that each pixel uses, we will tell Blender how
to reflect that pixel into the texture.
So here, it will store this direction.
The same for all the other points, okay?
And this procedure will be done with all pixels of the texture.
So this will allow us to fake a lot of detail into this polygon, okay?
And when looking it from the front, okay, from this direction, we will feel that we have
all these polygons happening there.
But it's not real, it's a fake, okay?
So now, this is pretty difficult to understand, I think.
But well, now we are almost, I don't know how to explain it better in this moment.
Not so in English, which is not my language, but well, I hope you understood it a little
bit.
And now we are looking on the real 3D normal maps.
So you can see how they work, the influence they have on the final result and all that
stuff.
Okay.
So let's go to Blender.
I have this model.
This will be our high resolution mesh, okay?
It's a brick wall or somehow.
And we are going to create our low poly object.
It will be a simple plane, okay?
We are going to position it over the wall because, as I said, it will project the rays
to the inside, okay?
So if we have it here in the inside of the plane, there is nothing.
So we won't have normal maps.
So we need to put it over the original model.
And now, what we need to do is to create UVs for this object.
Let's go here, the UV image editor and select everything and press U. We need to have UVs
and UVs.
Now, we need to create a texture.
It will be normal map, okay?
1024 seems okay.
All right.
We have it.
And now, we need to go to the render panel and at the bottom, we have this option, bake.
Okay?
This will bake the channel that we want.
In this case, we are going to bake Normans and then we are going to bake Ambient Occlusion
so you can see the possibilities of this option.
It allows you to bake a lot of things, even a full render, right?
With reflections, shadows and everything.
So you can have an object with a texture that seems rendered, already rendered, with its
shadowing and all the effects of the final render, but it's just a texture.
So this method is very used for, you know, video games and things like that that need
to have low processing graphics, right?
And this makes it faster, right?
Or even in a short movie, you can use this method for saving a lot of render time.
Okay?
So let's select normals.
Tangent is the usual way of rendering normals.
And now we need to activate this option here, all right?
We can bake it for multi-res, this means that if we have a multi-resolution mesh that we
sculpted or something, we can bake its higher level to the recent current level, right?
But this is not the case and we are going to bake selected to active.
So we need to select everything, right?
We need to select the bricks, the wall itself, okay, in this case, I have two objects just
for showing you that if you have, for example, a character with a lot of parts, you can select
all of them and finally select the low poly object and then press bake, okay?
The reason we have this texture created here is because Blender needs base texture for
rendering these normals to it, all right?
Here we have our normals and as you can see, it has almost, it's almost blue.
This is because, well, the model that I use is almost flat and in these surfaces that
are not facing to the plane is where the detail is.
You can see that it has some green and red mixing information, all right?
So this will tell, in each pixel, it will tell Blender how to reflect the light.
So in order to see the effect of this normal map so you can understand it, we are going
to display it by going here to display, selecting GLSL, going here, activating textured and
now we are going to create a map, well, a material that it will be called test mat.
And now we are going to textures, create a new one, call it normal map, for example.
And here, let's go to image or movie, select our normal map and here in image sampling,
we need to activate this option because we need to tell Blender that this map, this texture,
this image is actually a normal map.
And here we can select the type of normal map it is, all right?
Tangent is what we selected.
So now we are going to select here UBS, so it's working on the UBS and then here deactivate
the color because we don't want to see this, you know, strange texture with crazy colors.
We need to use it as normal, right?
Here we can select the amount of it we have, okay, even inverted, as you can see, we can
use it inverted, but we are going to let it at one.
And now you can see that we almost have that detail.
Could you tell that these are real bricks in the border?
Let's look at it better.
Could you tell that this is a real model and this is a texture?
This is the effect of the normal map.
It allows you to show a lot of detail that is not actually in the model.
What is its problem?
It is a fake.
So as it's a fake from here, we are going to see it plain, flat, but here it has depth.
You can see that here we don't have any detail already and here we still have it because
this is a real model.
But well, for representing we have that detail, it's a cool fake and it was almost all the
times and well, it's our decision where to use these tricks and where to use real geometry.
Almost also, I should say, let's undo this because I need to have this the same size
because now we are going to bake the ambient occlusion.
But another map that we can just bake is the displacement and displacement really help
us to displace polygons in a mesh.
We will take this plane, divide it a lot of times and use that displacement texture to
displace the polygons so they have real detail, but we are not going to do that in this tutorial.
So now we are going again to here and I'm going to duplicate this model.
Let's select all of this again and now we are going here to bake the ambient occlusion.
We are going to activate ambient occlusion, we don't need to activate, but just for changing
here the amount of samples.
We can deactivate it now, but now when baking it, it will bake it with the given samples
because 5 is a very low sample rate and it will have a lot of noise, our texture.
So now from here we have the ambient occlusion, but we need to create here, let's go to the
edit mode and create here a new texture which will be code AO, ambient occlusion.
And now we go out from the edit mode and press bake.
Here Blender tells us that it's baking the texture and we need just to wait a few moments.
Alright here we have our texture, as you can see this is a black and white texture that
shows us the places where several objects join, mix together, I don't know how to explain
it.
It gives an illusion of shadow wind, a smooth shadow wind that is very useful for defining
a lot of objects, defined volumes and this texture I find it very useful when texturing.
I take this map and I put it in Photoshop in multiply mode over the rest of the layers
so I have a little information about the volume of the objects and you can give a little shadow
wind in the dark parts of the model.
So here we are going to apply it to this object, so you can see how it looks.
Let's go here, alright we are going to create here an AO, image or movie, this one ambient
occlusion, UV, so it projects us on the UV and here you can see already the colors, alright.
If we disable the normal mapping, you can see that it is just a color, but it has a lot
of fuses, for example we can use it in color, right, so it just, the white parts of the
texture is brighter, it is brighter in the dark parts are not brightness, have not brightness
at all, we can also go, let me check it, colors, we can give it a brightness and contrast and
it seems that it has no effect on the preview, but well by giving a lot of contrast to this
image, we can achieve quite useful effects, alright so this is all for this tutorial,
let me just unselect this and well in this one I baked the ambient occlusion because
well we don't have more texture, we could bake shadows, we could bake whatever and well
I hope you learned something from this tutorial, I hope you understood the normal maps explanation
because I think it wasn't very good and well maybe in some time I can do this with a more
complex model like a character for example for video games so you can see better what
is this for, right because in this case yes it makes sense to use it, but it's not a very
common case, well I mean it's very common case but it's not awesome, you know you need
to watch a Transformers or something like that for knowing what this is useful, alright
so this is all for this tutorial, see you soon on future tutorials and happy blending.
