I realized that there aren’t too many tutorials out there that explain the different texture types. Diffuse, normal, specularity, displacement, occlusion. WHAT DO THEY MEAN!? Well in this CrazyBump tutorial I cover exactly that.
We’ll be creating our own versions of those texture types using a base image, then using those textures in Cycles to create a realistic cobblestone material.
Hope you enjoyed this tutorial!
Create something cool? Post it in the comments below :)
Not a fan of videos? No worries! Here’s the text summary:
Most people are taught that in order to texture something all you need is an image. However this gives boring, flat and very unrealistic results. It’s essentially the same as printing off the texture onto a piece of paper and sticking it onto a wall:
The light doesn’t interact with the bumps in the texture, nor the gloss. It’s completely flat and unrealistic:
A better method is to generate a normal map, specular map, occlusion map and displacement map.
This allows the light to interact with the bumps, gloss and displacement, resulting in a much more realistic material:
Very few artists can be bothered creating all of these, but it’s the biggest thing that separates realistic materials to average materials.
We’ll start by adding a base color texture to a plane and setting up the lighting.
1. Load the default scene in Blender and replace the cube with a plane.
2. Change the default lamp into a Sun lamp, set the Energy to 10 and Size to 0.010. Rotate the sun so its shining along the surface of the plane:
3. Go into Top View (Numpad 7), then edit mode and unwrap (U) the plane via Project from View (bounds).
4. Add a new material to the plane, and split the window to show the node editor:
5. Add an Image Texture node (Add>Texture>Image Texture) and load in the FloorsRegular0105 image (tiled), then connect it to the Diffuse Color input.
If you render it now you should see this:
For the next part of this tutorial we will be using a program called CrazyBump. It’s not free but it does offer a full 30 day trial.
CrazyBump is used for taking an image texture and easily generating a normal, displacement, specularity and occlusion maps from it. You don’t “need” it, but it will save you hours of work from trying generate those maps yourself using Gimp or Photoshop.
1. Once you’ve downloaded and installed CrazyBump, click the Open button in the bottom right hand corner of the main screen.
2. Locate and select the FloorsRegular0105 texture on your harddrive. After it loads it should ask you to select a shape. Click the one on the left:
3. Once it loads you should be taken to a screen where you can adjust the Normal map. A Normal map is a special texture type that will create realistic bump maps.
Intensity: Adjusts the height of the bump
Sharpen: Artifically sharpens the texture
Noise Removal: Useful for removing excessive noise in the bump mapping.
Shape recognition: Changes how accurate it finds the shape. High values will give crisper edges.
The parts highlighted Red are what I changed, but are optional. The settings will be entirely different depending on what image texture you’re working with.
4. Next click the Displacement tab. This type of texture will be used to physically change the geometry of the plane.
Depth: Changes the height of the displacement.
Enhance Detail: Changes how much of texture will influence the map.
Soften: Blurs the texture slightly (use if displacement appears too jagged).
5. Next click the Occlusion tab. This type of texture will be used to fake dark crevices.
Power: Changes the power of the Occlusion effect (lower is more).
Enhance Detail: Changes how much of the texture shows through the map.
Lighten: Artificially lightens the map.
6. Next is Specularity. This type of texture will change where the shader will be shiny (black=no shininess, white=full shininess)
Slope Influence: Smooths the specularity shape to make the object appear round. Texture Influence: Changes how much texture shows through the specularity.
Enhance Detail: Sharpens the detail.
Noise: Generates noise over the map.
7. Once you’re satisfied with everything, click the Save icon then in the popup, Save All Textures.
8. Choose a location on your hard drive to save the files and voila! The textures are generated and ready to use:
1. Add a glossy shader and set the roughness to 0.1.
2. Add a mix node and connect it to the diffuse and glossy shader.
3. Add an Image node and load in the Specularity map we created earlier.
4. Add a mix node, connect it to the Image node and the Fac input of the Mix Shader. Set the bottom input to black and the Fac amount to 0.985.
Your material should now render like this:
Updated: 11th January 2013 to correct a previous error regarding inputs.
1. With the plane selected, go to the node editor and add a new image texture node. Click the Open button and load in the Normal map texture we just created. Since it’s a normal map, set the type to Non-Color Data.
2. Add a Normal Map node (Add>Vector>Normal Map) and connect it to the image texture node. Connect the output to both the Diffuse and Glossy shader Normal inputs.
You should now have this:
1. Before we add the displacement map, we need to add more geometry to our plane. Go into edit mode, press W then in the toolbar (T) set the Number of cuts to 30 (you’ll need to type it in manually).
2. Next go to the modifier panel and add a subsurf modifier level 2, for even more vertices.
3. Add a Displacement Modifier directly beneath it and click New texture.
4. Go to the texture panel and change the type to Displace. Select Image from the dropdown, then select the generated displacement map we created earlier.
5. Return to the modifier stacker and set the strength to 0.012 and the direction to Z.
Render now and you should have this:
Depending on the material, this is probably the least important of all the texture maps as it’s very subtle. Still, it can help push your material closer to “photorealism” territory.
1. Add an Image node and load in the Occlusion map we created earlier.
2. Add a mix node and drop it between the diffuse shader and the image texture. Connect the occlusion texture into the bottom input and the diffuse texture into the top input. Set the blend type to Multiply.
Your final render should now look like this:
Final material node setup: