PBR maps explained: albedo, normal, roughness, metallic and AO

Updated · 6 min read

Download a material from almost any texture library and you get not one image but five or six: a colour image, a purple one, a few grey ones. Together they are a PBR material, and each image is a map that tells the renderer one thing about the surface.

This guide explains each map in plain English, shows how a GLB file stores them, and explains how AI-painted textures fit in.

Try it on your own model

Upload a GLB, OBJ, FBX, STL or PLY file (or pick a sample), describe the look, and let AI paint it from every side.

Open the AI 3D Texturing Studio

What PBR means

PBR stands for physically based rendering. Instead of an artist painting how a surface looks under one particular light, the material describes what the surface is: its colour, how rough it is, whether it is metal. The renderer then works out how it should look under any light.

That is why the same PBR asset looks right in a sunny scene and a dark cave, and why it can move between Blender, Unity, Unreal and the web with fairly little rework. Most modern engines and the glTF/GLB format use the metallic-roughness flavour of PBR, which is the one described here.

Albedo (base colour)

The albedo or base colour map is the plain colour of the surface: red paint, brown wood, skin tone. It is the map that looks most like a normal picture.

The key rule: no lighting in the albedo. No shadows, no shiny highlights, no dark creases. The renderer adds those from the lights in the scene and from the other maps. A base colour with a painted-in highlight will show that highlight even when the light comes from the other side.

This is the map AI texturing tools produce first, and the hardest rule for AI to follow, because image models love to draw light and shadow. Prompts that avoid lighting words help a lot; our text-to-texture prompt guide covers that.

Normal map

A normal map fakes small bumps and dents without adding triangles. Each pixel stores a direction (packed into red, green and blue), telling the renderer which way that bit of surface is tilted. Light then catches tiny scratches, pores, stitches and bricks as if they were really there.

Normal maps usually look light blue or purple because "pointing straight out" is stored as a blue-ish colour. They are popular in games because they add a lot of detail for very little cost.

One trap: there are two conventions, often called OpenGL and DirectX style, which differ in the direction of the green channel. If bumps look like dents, flip the green channel. glTF uses the OpenGL-style convention.

Roughness

The roughness map is greyscale. Black means perfectly smooth (sharp, mirror-like reflections), white means very rough (soft, blurry reflections). Polished chrome and wet paint are near black; chalk, cloth and dry concrete are near white.

Roughness does a lot of the work of making a material read as the right thing. A leather jacket and a plastic toy can share a colour; roughness is what tells them apart. Older workflows used a gloss map, which is simply roughness inverted.

Metallic (metalness)

The metallic map says which parts are metal. It is mostly pure black (not metal) or pure white (metal). Grey values are normally only for transitions, such as rust or paint wearing off metal.

Metal matters because metals reflect light differently: the reflections take on the metal’s colour (gold reflections look gold), while non-metals reflect light without tinting it. A common beginner mistake is to make something shiny by raising metallic. If it is not actually metal, lower the roughness instead.

Ambient occlusion (AO)

The ambient occlusion map is greyscale too. Dark areas are crevices and corners where surrounding light has trouble reaching: the gap between fingers, the seam of a jacket, the joint between two panels. It adds soft contact shadow and depth.

AO is kept in its own map instead of being darkened into the albedo, so the renderer can apply it only to ambient light and not to direct light.

Other maps you may meet

  • Height / displacement: greyscale height of the surface. Used to actually move geometry, or for parallax effects.
  • Emissive: parts that glow, like screens and lava. Black means no glow.
  • Opacity / alpha: which parts are see-through, like leaves or lace.

How a GLB file stores PBR maps

The glTF 2.0 standard (a GLB is a glTF in one binary file) defines a metallic-roughness material with these texture slots:

glTF slotWhat it holds
baseColorTextureAlbedo colour (plus alpha if used)
metallicRoughnessTextureOne image: roughness in the green channel, metallic in the blue channel
normalTextureTangent-space normal map
occlusionTextureAmbient occlusion in the red channel
emissiveTextureGlow colour

Packing roughness and metallic into one image saves memory. Some tools also pack AO into the red channel of that same image, so one texture holds three greyscale maps (often called ORM: occlusion, roughness, metallic).

Hooking up PBR maps in Blender

If you download a material as separate images, here is how they plug into Blender’s Principled BSDF shader, which follows the same metallic-roughness model:

  1. Add an Image Texture node for each map and open the image.
  2. Connect the albedo to Base Color. Leave its colour space on sRGB.
  3. Connect roughness to Roughness and metallic to Metallic. Set both image nodes to Non-Color, because these are data, not colours.
  4. Connect the normal map image (also Non-Color) to a Normal Map node, and that node to the shader’s Normal input.
  5. For AO, a common approach is to multiply it gently over the base colour or use it in compositing; when you export to glTF, Blender can write it to the occlusion slot using a glTF settings node group.

The most frequent mistake is leaving data maps on sRGB. The material then looks slightly too rough or too shiny, and normal maps shade strangely. If something looks off, check the colour space first.

Where AI textures fit

Most AI texturing starts with the albedo, because image models produce colour pictures. The other maps are then either generated by separate models, estimated from the colour image, or set by hand.

In our AI 3D Texturing Studio the AI paints the base colour. Box 4, PBR maps, then makes the other maps from that colour, free and in your browser:

  • Normal: worked out from the brightness of the painted colour (brighter reads as higher), with a Bumpiness slider.
  • Roughness: worked out from brightness and saturation around a base value you set with the Roughness slider.
  • Metalness: one value for the whole model, 0 by default, set with the Metalness slider.
  • Ambient occlusion: baked from the mesh itself by checking how much of the sky each point sees from 64 directions, with an Ambient occlusion slider.

Press Make PBR maps to see the material on the model. While that preview is on, the GLB you download carries the maps in the glTF slots: baseColorTexture, normalTexture, and one ORM image used as metallicRoughnessTexture and occlusionTexture (AO in red, roughness in green, metal in blue). The PBR maps (PNG) button saves the normal and ORM images on their own for Blender, Unity or Unreal.

Be clear about what these maps are: estimates from the colour, not maps painted by the AI or captured from a real surface. A dark painted line becomes a groove in the normal map even if it is only a colour change. The optional Remove lighting checkbox divides out broad light and dark areas to even out shadows the AI painted in; it is a rough fix, not true delighting, so compare with it off. For hero assets, use these maps as a starting point and refine them by hand.

A quick upgrade for an AI-textured prop: make the PBR maps, set the Roughness slider to a sensible value (lower for plastic, higher for cloth), and leave Metalness at 0 unless the whole model is metal. That alone makes most assets sit better in a lit scene. The tutorial make PBR maps for a 3D model walks through it.

Paint it, then make the maps

Texture the bear sample with AI, press Make PBR maps, and download a GLB that carries the full material.

Open the bear sample

Questions

Is albedo the same as diffuse?

They are often used for the same slot, but traditionally a diffuse map had lighting and shadows painted in, while an albedo map should not. In PBR, use a clean albedo.

Which PBR maps do I really need?

Base colour is the minimum. Roughness and normal add the most realism after that. Metallic matters only if part of the model is metal, and AO helps with crevices.

Why does my normal map make bumps look like dents?

It is probably in the other convention (DirectX vs OpenGL). Invert the green channel, or use the engine setting that flips it.

Ready to texture something?

Upload a GLB, OBJ, FBX, STL or PLY file (or pick a sample), describe the look, and let AI paint it from every side.

Start texturing

Step-by-step tutorials

Keep reading

Sources

Checked 2026-10-17. Other tools change their features and prices often, so check their own pages too.