Normal Maps to Unreal Engine: Normal Maps vs. Bump Maps

Photo of John Burdock

Instructor John Burdock

Share this video
  • Duration: 12:15
  • Views: 2999
  • Made with Release: 18
  • Works with Release: 16 and greater

An explanation of what normal maps are, how they work, and comparing them to displacement and Bump maps.

In this video, you'll learn about the different type of normal maps, there pros and cons, what they are used for, and how they differ from bump maps, and displacement.



Before we start learning how to bake out normal maps, we're going to take some time in this video to talk about what normal maps are, how they work, and what they're used for. We're also going to compare them to something very similar to a normal map, yet distinctly different, called a "bump map." We're also then going to compare both of them to true real geometry displacement. To begin, though, let's start with the question, what is a normal map and what does it do? Let's start with, what does it do? A normal map creates surface shading detail along the surface of an object. To help illustrate what this is and what this means, I modeled an axe here in Cinema 4D, and I textured it with a single reflective material. So it's a single blank material with nothing but reflection. Now, if we add a bump map, or normal map to this, I should say, you can see the detail in surface shading that has now been applied to our object. Look how much more detail we're getting here on the head of this axe right here. So no normal map. With the normal map. So now, we can understand what normal maps can do. This is just a small piece of what normal maps are actually capable of. Let's now dive into a little bit more about what a normal map actually is. A normal map is typically a purplish-blue or green-colored image. Now, you can see here, there's two distinct types of normal maps. So we have the purplish-blue or the greenish-colored. But there's actually three different types. We have a tangent, we have an object, and we have a world. Now, object and world are put together here, because they behave and look almost exactly the same. In fact, there is only one very big difference. A world-space normal map, as its name implies, is calculated in the object's world-space. So the object that has a world-space normal map applied to it cannot be rotated or the shading detail will become broken and have issues. This is a big issue with world-space normal maps, and this is a big reason why almost nobody uses them anymore. That means for the remainder of this course, we'll no longer be talking about world-space normal maps, because of this issue, and be solely talking about object and tangent-space normal maps. Now that we understand that, let's move on to some more of what normal maps can do. They can do more than create just simple surface shading detail along the surface of an object. They can, in fact, take the normals of, for example here, a high poly3D-scanned log, or a fallen tree, that it got off a website called "Quixel Megascans." We can see that it's extremely detailed. This is a single blank, white texture that has been applied to it with nothing going on, no reflection, no normals, no bump, nothing here at all. Just a single, regular model here. Now, we can see here, it is made up of over 1 million polygons, so extremely detailed. Now, this is just far too detailed to be used in any game. It's just much too heavy for any game engine to really use. So to fix that, you could reduce the polygon count to something much more acceptable, say, 3,000 polygons. But at the same time, our detail has been removed to the point where we've lost our photorealism we're going for in our game. This is where normal maps really shine, and this is where they come in to show their true potential. If we take this low poly log here, and we take the normals that we can take here off of our high poly log, and then bake that, the normals, the surface shading detail on this log made by the polygons here... So this is actual, true geometry shading here. We're going to take that and we're going to bake that onto our low poly. Here's the results we get. Instantly, you can already start to see how powerful normal maps are. Look at the detail and the shading that we're getting on this object here. It is really, really nice, and specifically take note. See how hard-edged the light and shading is here on our object? When we add this normal map, look how much more smooth and realistic, and detailed that shading has become. Now, I want you to take your focus over here, though, to this specific spot on the object. Notice with the normal map, we have this very hard edge here. Even without it, we still have it. So with and without, we still get this very hard 90-degree angle here that is not like our high poly one. See how our high poly is much more realistic with the different chunks here of the tree being broken up. This is simply because this is a limitation of what normal maps are capable of doing. They cannot move or change the shape of the actual polygon geometry. They only simply create shading detail along the surface. So it's very important to be aware of that there. Now that we understand this low, let's move on to the next question. That is, what is a bump map and what does it do? A bump map is very similar to a normal map, but first let's talk about what it actually looks like. A bump map is a black and white, greyscale image that ranges all the way down to black, a negative value, and all the way up to white, a positive value. Now, what does a bump map do is almost exactly the same as what normal maps are capable of to an extent. It creates surface shading detail along the surface of an object. So again, our blank textured axe with nothing but reflection, and now we add the bump map. Same exact results that we received with the normal map. So now that we understand what bump maps can do similar to a normal map, let's talk about what they can and can't do that normal maps can and can't do. So first up, bump maps versus normal maps. Let's dive into that. Here we have a nice little chart showing those different examples here. A normal map on the left, arrows showing what it can do that bump maps can't, and then arrows pointing over here showing what bump maps can do that normal maps can't. So starting at one, "can bake a high poly object shading onto a low poly object," like the example we showed with the fallen tree there, the 3D scan from Quixel Megascans. Normal maps can only do this. Bump maps cannot do this. Next up, calculates faster. Because normal maps, unlike bump maps, have the shading detail prebaked into them, this means they calculate faster. With a bump map, when you click render, it must calculate the height and the depth of the shading detail that's going to be projected onto your model or be shown on your model, per say. This means that this is extra processing time the bump map needs to go through. So it needs to calculate the depth of the lowest areas and the height of the highest areas to create that shading detail along your surface. Now, a normal map does this same thing, except it does it only once when you bake it. It bakes that shading detail of the depth and the height ahead of time as you bake the object. So every time you click Render, it no longer needs to calculate this. Or every time a frame is generated in a game, it no longer needs to do this either. This is why normal maps are typically faster than a bump map, and also why normal maps are almost exclusively used for creating surface shading detail in video games over bump maps. Now, though, there is a small difference in speed. I know we've talked about speed here for a little bit. But the speed difference is still relatively small. I did some tests on a one-minute render, and the normal map gave me about five to six seconds' faster performance than the bump map. That said, in the video game world, every second counts. So that's why people do use normal maps many, many times more in video games for surface shading detail over bump maps. Now that we understand that, though, let's talk about some of the benefits of these bump maps. Right here, "can be painted or generated very easily." This is because a bump map is simply a black and white image, which means in Body Paint, in Photoshop, or any other type of painting application you would like to use, you can easily hand-paint your own bump maps from scratch. We also can generate bump maps with things like noise inside of Cinema 4D, which run off of a black and white, greyscale value. So we can create bump maps that same way, as well. They also can be used in other channels, such as displacement, reflection, and roughness. So the same black and white value that we can generate in these programs can also be used in other channels besides bump or surface shading detail channels. That means we could displace our object. We could add a reflection, roughness, and many other channels. This makes the bump maps much more flexible than the normal maps are in a lot of other areas. So even if you're not going to be using bump maps for creating surface shading inside of your games, you still are most likely going to be using bump maps inside your roughness, reflection, and maybe somewhat slightly displacement. Which video games are becoming more powerful nowadays to possibly handle that. Another thing I would like to point out is you can paint normal maps. Even though bump maps are much easier, you need specific applications, for example, Substance Painter, which does allow you to paint normal maps. Even though it is much more complicated than simply painting a black and white image, it does simplify it greatly. But at this point, we're using a very specialized application for this task. Next up, though, let's move on to, "when mapped correctly, has no seams." Bump maps will give you no surface seams along the edges of your UVs on your object, because everything is calculated live. As a side effect of the tangent-space normal maps here, having their calculations done ahead of time in the bake, it will give you seams on the edges of your objects. If you don't know what I'm talking about on seams for your normal map, don't worry. Later on in this course, we're definitely going to be looking at them very, very much, and you're going to have a very good understanding of what seams are once you go through this entire course. So don't worry. If you don't know what the seams are I'm talking about, you definitely will know what they are by the end of this course. Finally, let's move on to fake shading versus true geometry displacement. Let's talk about the actual real deal that our fake shading is actually trying to fake. So here we have our fake shading detail that's generated from a normal map or a bump map. You can see that it just is not doing it on the edges of our model, and maybe in the middle here it looks pretty good, this rough surface here. But on the edges, it's just kind of falling flat. Now, here is true geometry displacement. Polygons are actually being moved, and you can see this is just much more realistic and it gives you much better results. As a good rule of thumb, though, if you're going to be moving a large amount of surface area, using displacement is the way to go. Now, this doesn't mean you want to always use displacement, though. If you're using a small amount of surface area, just small amounts of surface detail here, you can see, this is with a bump map and it's doing quite well. If we were to use this with displacement, it actually takes four minutes to render. That's four times longer that gives a small amount of detail movement here. This takes four times longer that gives results that are not really as good in my opinion. Here's the bump. Much sharper edges here and much more crisp detail, and here's the displacement that took four times longer to render. So as a good rule of thumb to remember, large amount of detail movement, don't use the bump map. Use displacement for large amounts of movement. But small amounts of movement and a small amount of detail, like tiny, tiny surface detail like on this axe right here, you can see that a bump map does a much better job than displacement does. Now that we understand all of this information here, let's just quickly go over what we just learned to finish up this video. We just learned what a normal map is, what a normal map does, what a bump is, what a bump map does, bump maps versus normal maps, and finally, true displacement versus bump or normal map shading.
Resume Auto-Scroll?