This guide walks through setting up a PBR material in Blender 4.x using downloaded texture maps. By the end, you will have a properly configured Principled BSDF material with albedo, normal, and roughness maps that renders correctly in both Cycles and EEVEE.
Step 1: Download Your Textures
Start by downloading a base texture. For this guide, generate a concrete texture from the Concrete Generator at 2048px. You can also download from the texture library. If you need a normal map, use the Normal Map tool to generate one from your base texture. Save all files in a dedicated textures folder alongside your .blend file.
Step 2: Create a New Material
Select your object in Blender. Open the Properties panel, go to the Material tab (sphere icon), and click New. Rename it descriptively — “Concrete_Wall” rather than “Material.001”. Open the Shader Editor (Shift+F3 or split a viewport and change the editor type) to see the node graph. You will see a Principled BSDF node connected to the Material Output.
Step 3: Add the Albedo (Base Color) Map
In the Shader Editor, press Shift+A and add an Image Texture node (Search: “Image Texture”). Click Open and select your downloaded albedo/diffuse PNG. Connect the Color output to the Base Color input on the Principled BSDF. Make sure the color space is set to sRGB (this is the default for color images).
Step 4: Add the Normal Map
Add another Image Texture node. Load your normal map PNG. Change the color space to Non-Color — this is critical. Normal maps encode directional data, not color, and the wrong color space will produce incorrect lighting.
Add a Normal Map node (Shift+A → Vector → Normal Map). Connect the Image Texture’s Color output to the Normal Map node’s Color input. Connect the Normal Map node’s Normal output to the Principled BSDF’s Normal input. Adjust the Strength value — 1.0 is standard, but 0.5–0.8 often looks more natural for subtle surfaces.
Step 5: Add a Roughness Map
If you have a dedicated roughness map, add another Image Texture node, set its color space to Non-Color, and connect its Color output to the Principled BSDF’s Roughness input. If you do not have a separate roughness map, you can derive one from the albedo by desaturating it: add a Color Ramp node between the image texture and the roughness input to remap the grayscale range. For concrete, a roughness value of 0.7–0.9 is realistic.
Step 6: UV Mapping and Tiling
By default, Blender uses the mesh’s UV map. For seamless textures, you often want to control the tiling scale. Add a Texture Coordinate node (Shift+A → Input → Texture Coordinate) and a Mapping node (Shift+A → Vector → Mapping). Connect Texture Coordinate’s UV output to the Mapping node’s Vector input. Connect the Mapping node’s Vector output to all your Image Texture nodes’ Vector inputs.
To tile the texture 3×3 across the surface, set the Scale X and Y values in the Mapping node to 3.0. For non-uniform surfaces (like a long hallway), you might use different X and Y scale values. Since Texturize textures are seamless, they tile without visible seams at any scale.
Step 7: Fine-tuning in Principled BSDF
The Principled BSDF has additional parameters worth adjusting:
- Metallic — Set to 0.0 for non-metal surfaces (concrete, wood, fabric). Set to 1.0 for metals.
- Specular IOR Level — Controls the intensity of Fresnel reflections. Default (0.5, equivalent to IOR 1.5) is correct for most dielectrics.
- Subsurface — For translucent materials (wax, skin, marble), add a small subsurface value to soften shadows.
Cycles vs. EEVEE Considerations
Normal maps work identically in both renderers. Displacement mapping requires Cycles with the Displacement setting changed from “Bump Only” to “Displacement and Bump” in the Material settings. EEVEE uses screen-space reflections, so roughness values below 0.1 may look different between the two renderers. Always preview in your target renderer.
Organizing Your Node Tree
For complex materials with 4–6 texture maps, use Frames (Ctrl+J) to group related nodes. Label all Image Texture nodes with their purpose (Albedo, Normal, Roughness). This makes the material readable when you return to it months later. You can also create Node Groups (Ctrl+G) for reusable setups.
Start building materials now — generate a Wood or Brick texture and follow these steps.