Creating Displacement , Normal & Bump Map
This tutorial will teach you the differences of displacement and bump maps and normal maps and how to assign them to a shader and a model. This is just an overview tutorial on both subjects, and will teach the basic attributes of both of them.
Step one -Create a sphere by going to create>polygonal primitives>sphere. And that's it. Not much of a set-up on this tutorial.
What Is The Difference Between Displacement And Bump Maps?
A displacement map is real geometry (polygons), while
a bump map is tricks of light to make it look like it has real
geometry. Normal maps are like bump maps, as in the way they both trick
the light, but normal maps actually change the surfaces normals and
bend the light. Bump map renders faster but you do lose quality. Normal
maps are used more in low poly games. Displacement maps, because of
their longer render time, are mostly used on objects that need high
Bump map is best used for when adding "texture" to a model. Example; cloth, pores, surfaces that don't want to look 100% smooth, etc.
Creating A Bump Map
It's important that you don't assign it to the default Lambert shader that's already on your model. Make sure you create a new shader. To do this, select your model, then select your rendering shelf and click on the material you want to create.
Open the material that you created in the attributes editor (select your model, click the wavy checkerboard icon on the shelf ). Roll down until you find the attribute bump map. Click the checkerboard beside it. This will open the create render node window. If you were to create a file render node, you could load an image as your bump map. For this tutorial, we will be using the checkerboard. Now the attributes editor should open to the bump 2D texture node. The first attribute, bump value, is where the checkerboard is connected to. The bump depth lets you set how deep your bumps will look. Render it and you'll see the results.
Creating A Normal Map
Normal maps are more commonly used in video games than in 3D images. For a normal map to work, you need an texture that has been designed as a normal map ( bump map and displacement map, on the other hand, only need a gray scale texture). For this tutorial, we'll not be covering how to create a nomal map texture. For this tutorial, use the image below.
It's important that you don't assign it to the default lambert shader that's already on your model. Make sure you create a new shader. To do this, select your model, then select your rendering shelf and click on the material you want to create.
Open the material that you created in the attributes editor (select your model, click the wavy checkerboard icon on the shelf, then go to window>attributes editor). Roll down until you find the attribute bump map. The bump map attribute is also where you add normal maps. Click the checkerboard icon beside the attribute and this will open the create render node window. For this we're going to create a file node since we need to assign our texture (image). Now the bump 2D node is in the attributes editor. Set the use as type attribute to tangent space normals.
Now in the attributes editor click on the tab file1. This'll take you to the file nodes attributes.Beside the text image name, click the folder icon and locate where you saved the normal map image in your hard drive. Now if you were to render it with the default Maya software, it looks hideous. But when you look at it in the view port in the view port high quality mode [see note above], the normal map looks fine.
This is because , by default, Maya software will not render normal maps. It'll just render as bump maps. Now in the render view set the rendering software to Mental Ray and re-render the image. Now, with Mental Ray as our renderer, we can see our normal map.
A displacement map generates real geometry, unlike some other features in Maya that just trick the bending of light. A displacement map can not be seen in high quality render mode in the view port, but you can convert a displacement map into real geometry you can physically see in the Maya view port.
First we're going to need to open up the hypershade
window. Go to window>render editors>hypershade. It's important
that you don't assign it to the default lambert shader that's already
on your model. Make sure you create a new shader. To do this, select
your model, then select your rendering shelf and click on the material
you want to create.
Close the hypershade. Select the sphere and open the attributes editor [window>attributes editor]. Find the tab pSphereShape1. Roll down and find the tag displacement map. Hit the calculate bounding box button. For optimization purposes, Maya uses a bounding box to calculate displacement. This may take a second to calculate. Now render the scene [you may want to zoom out because the sphere will be bigger].
(The rendering above wasn't rendered with the default Maya software. If
you follow my quick final gather tutorial, it'll explain how I got this
(Warning; Since you have converted your displacement map into real geometry, the original sphere is still in the scene with the displacement map material still connected to it. Therefore, if you were to render the scene, it will render the displacement map geometry plus the real geometry which was converted from the displacement. You should delete the original sphere from the scene or assign a new material to it.)
This tutorial has covered assigning a displacement map, a normal map, and a bump map to a model. All these techniques taught above will work on any model that is uv mapped, not just a sphere.