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.
Set-up
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
level detail.
(NOTE; To see a bump map or a normals map in the view port, on the
view port menu, go to shading>hardware texturing. Still on the view
port rendering, now go to renderer>high quality rendering. Now you
can see it in the view port.)
Bump Map
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.
Now you can see the new material created in the new
hypershade work area. Now in the create Maya nodes section of the
hypershade, roll down and create a checkerboard. Using the middle mouse
button, click and drag it, and then drop it on the blinn shader. A
pop-up will come up, showing the options of what you want to connect
the checkerboard to. Select displacement map. A displacement map shader
node will be created. 

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
rendering.)
Now, as I said, on top of the tutorial, displacement maps can be
converted into physical geometry. To do this, select the sphere and go
to modify>convert>displacement to polygons. Now you can see the
displacement map generated geometry in the Maya view port. 
(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.)
Conclusion
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.
|