Ready to watch this entire course?
Become a member and get unlimited access to the entire skills library of over 4,900 courses, including more 3D + Animation and personalized recommendations.Start Your Free Trial Now
- View Offline
- Understanding shading concepts
- Simulating the Fresnel effect for realistic reflections
- Rendering transparent and translucent surfaces
- Comparing mental ray and Maya standard shaders
- Introducing the mia_material
- Developing shader networks
- Using subsurface scattering shaders
- Mapping polygon UV coordinates
- Incorporating texture nodes into networks
- Improving skin detail with ambient occlusion
- Painting bump maps
- Creating normal and displacement maps
- Troubleshooting maps
Skill Level Intermediate
In this movie, we are going to talk about how to generate normal maps within Maya. normal maps are very similar to bump maps in that they create a high-resolution detail on a low- resolution surface or they add detail to a surface through the shading network. normal maps are frequently used in games, because the game rendering engine has to render in real-time and it can't handle objects that are made up of a whole lot of polygons. So instead they use normal maps to simulate the detail, making the game look more realistic.
So common workflow is to take a high- resolution version of the object and transfer the detail from the high- resolution version to the low-resolution version via a normal map. I'll show you how to do this in Maya. I have a high-resolution version of this moon here, and you can see it's made up of a lot of polygons. I'll zoom-in on it, and I have a lower resolution version. To get the detail from the high- resolution to low-resolution, I am going to use the Transfer Maps tool. This is found under the Rendering menu set, under Lighting/Shading.
I will open up Transfer Maps. So to get this doing what I need to do is I need to select my target shape which is my moon object or moon1 object. I'll click Add Selected. That adds moonShape1 or the shape node of moon1. This node, and then what I need to do is select my high-resolution object and click on Add Selected under Source Meshes, and this adds moon_HResShape1.
So the source is going to be moon_HRes and the target is going to be moonShape. And then I need to select the type of map I want to make. I am going to choose normal map. Under normal map, I can use the folder icon to choose where I want the texture to be replaced once it's done calculating. I'm going to choose the source images of the current project. So I will choose the sourceImages directory. The file format can be chosen. This one is usually to select our Maya IFF or EXR.
I will use Maya IFF. I am not going to include materials at this point but if the high-resolution version had a material that had a bump map applied to it for additional details, you could choose Include Material and it will include that bump detail within the normal map as well. I am going to leave this off for the moment. And then I am going to set Map space to Tangent space. There are two types of normal maps. Object space and Tangent space. Tangent space is used for deforming objects like characters that are moving around the scene.
Object space is usually used for scenery. In fact, you can actually use Tangent space for all different types of objects, so that's what I usually use. So I am going to select Tangent space, and I have two more normal maps setup here. I only need to create one, so I am going to click the Remove Map button to remove the second normal map from being generated. Finally, I am going to turn on Connect maps to shader so this will automatically connect the normal map to the shader applied to the low res moon. Now, the way that Maya calculates normal maps is it actually uses a search envelope to calculate the difference between the target shape and the source shape.
So the difference between the low- resolution and the high-resolution object. So I want to make sure that they are in the exact same space. So the high-resolution object needs to be in the same area as the low-resolution object. So I am just going to move that, so that they are overlapping. This will ensure that the map is calculated correctly. Finally, I am going to go down to the mental ray Common Output. I am going to set the map width and height to 2048, so the resulting texture will be 2048x2048. I am going to set Transfer in to Object Space.
I'll set the number of samples up to 2. Leave the normal direction to Surface Front, and I am going to leave the rest of the settings at their default. Once I am ready to make the map, I'll click on the Bake button. At this point Maya is actually rendering using mental ray to calculate the difference between the low- resolution version and the high-resolution version, and here we go. It's finished rendering. So I am going to select the high-res moon shape and move it out of the way and now we can see the low-res moon shape.
I am going to select the shape and choose in the Hypershade, Graph Materials on Selected. You can see the file is connected to a bump map which is connected to the lambert shader. Now, right now it's not updating the icons for the file correctly, so I can just right-click over the File node and choose Refresh Swatch and now we can see the normal map, and I am going to expand the work area, so we can zoom in and take a look at the normal map, and it's a RGB image. It's a color image and the colors in the image tell the Maya how to deform the surface to create the surface details.
So you can actually preview what this looks like within the Perspective View just by switching the Renderer to High Quality Rendering and make sure that the Textured icon in the menu at the top here is turned on. So take a look at it. You can see the detail has been transferred from the high-resolution object to the low-resolution object. Now, I'll create quick render using mental ray, and there we go. That's how to create normal maps in Maya.