FindUtils
Trending ToolsGuidesBlogRequest a Tool
  1. Home
  2. Blog
  3. PBR Materials Guide: A Visual Walkthrough for Game Artists
Design10 min readFebruary 22, 2026

PBR Materials Guide: A Visual Walkthrough for Game Artists

Tags:Design Tools3DGame DevelopmentTexturesPBR
Loading math content...
Back to Blog
View Markdown
Share:
Contents
1.What Is PBR and Why Does It Matter?Key Benefits of PBR2.The 5 Core PBR Texture Maps ExplainedAlbedo (Base Color)Normal MapRoughness MapMetallic MapAmbient Occlusion (AO)3.Metallic vs Specular Workflow Comparison4.Common PBR Mistakes (and How to Fix Them)Mistake 1: Baked Lighting in the Albedo MapMistake 2: Inverted Normal Map Green ChannelMistake 3: Extreme Roughness ValuesMistake 4: Gray Values in the Metallic MapMistake 5: Mismatched Texture Resolution5.Free PBR Texture Sources6.How to Test PBR Materials Online with FindUtilsStep 1: Open the PBR Material PreviewerStep 2: Upload Your Texture MapsStep 3: Choose a Preview ShapeStep 4: Adjust Material PropertiesStep 5: Inspect and Iterate7.PBR Material Previewer: Free Online vs Desktop Software8.Engine-Specific PBR TipsUnityUnreal EngineGodotThree.js (Web)9.Tools Used in This Guide10.FAQ11.Next Steps

Related Tools

PBR Material Previewer

Related Posts

  • 25+ Free Online Design Tools — Color, Image Editing & CSS Generators Without Signup

    11 min read

Get Weekly Tools

Join 10,000+ users getting our tool updates.

Physically Based Rendering (PBR) is the standard approach for creating realistic materials in modern game engines and 3D applications. PBR uses a set of texture maps that describe how light interacts with a surface, producing consistent results across every lighting condition. Whether you are building environments in Unreal Engine, characters in Unity, or scenes in Three.js, understanding PBR materials is a foundational skill. You can test your own texture maps right now using FindUtils' PBR Material Previewer -- upload your maps, pick a shape, and see the result in real time without installing anything.

This guide covers everything a game artist or 3D creator needs to know about PBR: what each texture map does, how the two main workflows differ, which mistakes to avoid, where to find free textures, and how to preview materials online.

What Is PBR and Why Does It Matter?

PBR is a shading model that simulates how light behaves on real-world surfaces using physics-based equations. Unlike older shading techniques that relied on artistic tricks and per-scene tweaking, PBR materials follow energy conservation -- a surface never reflects more light than it receives. This makes materials look correct in any environment, from harsh outdoor sunlight to dim indoor scenes, without manual adjustment.

Every major real-time engine adopted PBR as the default pipeline years ago. Unreal Engine, Unity, Godot, Three.js, Babylon.js, and even web-based renderers all expect PBR texture inputs. Learning PBR once means your material knowledge transfers across every engine and tool in the industry.

Key Benefits of PBR

  • Consistency -- Materials look correct under any lighting without per-scene hacks
  • Transferability -- The same texture set works in Unity, Unreal, Godot, and Three.js
  • Realism -- Physics-based light interaction produces convincing surfaces automatically
  • Efficiency -- Artists spend less time manually tweaking lighting and reflections
  • Industry standard -- Every studio and portfolio reviewer expects PBR-quality work

The 5 Core PBR Texture Maps Explained

PBR materials use five core texture maps. Each map controls a specific aspect of how light interacts with the surface. Understanding what each map does -- and what it should look like -- is essential for creating convincing materials.

Albedo (Base Color)

The albedo map defines the pure color of a surface with zero lighting, shadow, or reflection information baked in. Think of it as the color a surface would have under perfectly flat, shadowless illumination. For non-metals, this is the diffuse color. For metals, this is the reflection tint color.

Key rules:

  • No baked lighting. No highlights, no shadows, no ambient occlusion. Flat color only.
  • Correct value range. Non-metals should stay between 30-240 sRGB (roughly 4-6% to 80% luminance). Pure black (0) and pure white (255) are almost never physically correct for an albedo.
  • Metals use reflectance color. Gold is approximately (255, 200, 55), copper is (250, 135, 95), silver is (220, 220, 220).

A dark parking lot asphalt might have an albedo around (60, 60, 60) while fresh snow is around (230, 230, 230). Neither should ever hit pure (0, 0, 0) or (255, 255, 255).

Normal Map

A normal map encodes surface detail as RGB color data, simulating bumps, scratches, grooves, and fine geometry without adding polygons to the mesh. Each pixel stores a direction vector: the red channel is the X axis, the green channel is the Y axis, and the blue channel is the Z axis. Because most normals point outward (positive Z), normal maps appear predominantly blue-purple.

OpenGL vs DirectX: The green channel is inverted between these two conventions. OpenGL normal maps (used in Blender, Three.js) have the Y axis pointing up. DirectX normal maps (used in Unreal Engine, CryEngine) have Y pointing down. Using the wrong convention makes surfaces look like they have inverted bumps. Check which format your engine expects.

Normal maps are where most surface detail comes from in game art. A brick wall might have only 4 polygons for its flat plane, but the normal map makes every brick edge, mortar groove, and surface chip visible under dynamic lighting.

Roughness Map

The roughness map is a grayscale texture that controls how blurry or sharp reflections appear on the surface. White (value 1.0) means fully rough -- reflections are completely scattered, producing a matte finish. Black (value 0.0) means perfectly smooth -- reflections are mirror-sharp.

Typical roughness values:

  • Mirror / chrome: 0.05-0.15
  • Polished metal: 0.15-0.30
  • Glossy plastic: 0.25-0.40
  • Wood (varnished): 0.35-0.50
  • Concrete: 0.60-0.80
  • Rough stone / fabric: 0.75-0.95

Most real-world surfaces fall between 0.2 and 0.8. Values at the extreme ends (below 0.05 or above 0.95) look artificial. Slight variation across the surface -- fingerprints on metal, wear patterns on wood -- makes materials look convincing.

Metallic Map

The metallic map is a binary grayscale texture: white (1.0) means the surface is a metal (conductor), and black (0.0) means it is a non-metal (dielectric/insulator). In practice, this map should be almost entirely black or white, with gray values only at transition edges between metal and non-metal areas (like paint chipping off a metal railing).

Metals and non-metals reflect light fundamentally differently:

  • Metals absorb almost all refracted light and reflect environment color tinted by their base color. Their albedo map defines the reflection color, not a diffuse color.
  • Non-metals reflect a small amount of white light (typically 2-5% at straight-on angles, increasing at grazing angles via the Fresnel effect) and scatter the rest as diffuse color.

No real-world material is "50% metallic." If you find yourself painting gray in a metallic map, you are probably making a mistake. Use the metallic map only for clean metal-vs-not-metal boundaries.

Ambient Occlusion (AO)

The ambient occlusion map is a grayscale texture that darkens areas where ambient light would naturally be occluded -- crevices, tight corners, and recessed areas. White means fully exposed to ambient light, and black means fully occluded.

AO adds depth and grounding to materials. Without it, surfaces can look flat and weightless because contact shadows are missing. AO is typically baked from the high-poly mesh or generated procedurally in tools like Substance Painter, xNormal, or Blender.

Important: AO affects only indirect/ambient lighting, not direct light sources. Some engines apply AO to the entire lighting pipeline (which is technically incorrect), while others only apply it to ambient and image-based lighting. Know how your target engine handles AO to avoid over-darkening.

Metallic vs Specular Workflow Comparison

Two PBR workflows exist in the industry. Both produce physically accurate results, but they organize texture data differently. The metallic-roughness workflow is more common in game development.

AspectMetallic-RoughnessSpecular-Glossiness
Used byUnity, Unreal, Godot, Three.js, glTFUnity (alt), older CryEngine, some arch-viz
Maps requiredAlbedo, Normal, Roughness, Metallic, AODiffuse, Normal, Glossiness, Specular, AO
Metal definitionBinary metallic map (black/white)Specular color map (colored reflectance)
Reflection controlRoughness (white = rough)Glossiness (white = smooth) -- inverted
Texture count5 maps (metallic + roughness often packed)5 maps (specular is full RGB)
Memory efficiencyMore efficient (metallic is 1-channel)Less efficient (specular is 3-channel RGB)
Ease of authoringSimpler -- binary metal decisionMore flexible but easier to break physics
Industry trendDominant standard since 2018Legacy, declining usage
File format supportglTF, USDZ, FBX (modern)FBX (legacy), some proprietary

Recommendation for game artists in 2026: Use metallic-roughness. It is the default in every major engine, the required format for glTF and web3D, and the workflow that Substance Painter, Quixel, and most texture sites export to. The PBR Material Previewer on FindUtils uses the metallic-roughness workflow.

Common PBR Mistakes (and How to Fix Them)

Even experienced artists make these errors. Catching them early saves hours of debugging in-engine.

Mistake 1: Baked Lighting in the Albedo Map

The most common PBR mistake is including shadows, highlights, or ambient occlusion in the albedo/base color map. In older (non-PBR) workflows, artists baked lighting into diffuse textures. In PBR, the renderer calculates all lighting dynamically. Baked-in shadows create double-shadowing and make materials look wrong when the light direction changes.

Fix: Check your albedo by viewing it on a flat, evenly lit surface. If you can see directional shadows or bright spots, remove them. Your albedo should look like a color swatch, not a photograph.

Mistake 2: Inverted Normal Map Green Channel

Using an OpenGL normal map in a DirectX engine (or vice versa) inverts the Y-axis of surface detail. Bumps appear as dents, and grooves appear as ridges. The material looks subtly wrong under dynamic lighting.

Fix: Flip the green channel in your image editor, or use the engine's normal map import settings to specify the convention. Test by shining a light from above -- bumps should catch light on top and cast shadow below.

Mistake 3: Extreme Roughness Values

Setting roughness to exactly 0.0 (perfect mirror) or 1.0 (pure matte) across an entire surface looks artificial. Real surfaces have micro-variation in roughness caused by wear, fingerprints, dust, and manufacturing imperfections.

Fix: Keep most values between 0.15 and 0.85. Add subtle variation using grunge maps or hand-painted wear. A polished marble floor might average 0.25 roughness but have scratches at 0.5 and dust spots at 0.4.

Mistake 4: Gray Values in the Metallic Map

Painting mid-gray (0.5) in the metallic map does not create "semi-metal." There is no such thing in physics. Mid-range metallic values produce unrealistic shading that no real material exhibits.

Fix: Keep the metallic map strictly black (0.0) or white (1.0). Use gray only in a 1-2 pixel transition zone between metal and non-metal areas. If you want aged metal, vary the roughness and albedo instead.

Mistake 5: Mismatched Texture Resolution

Using a 4K albedo with a 256px normal map creates an obvious quality mismatch. The surface color looks detailed but the lighting response looks blurry and flat. All PBR maps for a single material should share the same resolution.

Fix: Export all texture maps at the same resolution. For game assets, 2K (2048x2048) is the standard for hero assets, and 1K (1024x1024) for secondary props. Use FindUtils' Image Compressor to optimize texture file sizes without losing visible quality.

Free PBR Texture Sources

You do not need to create every texture from scratch. Several high-quality libraries offer free PBR texture sets under permissive licenses.

SourceLicenseResolutionFormatTexture Count
Poly HavenCC0 (public domain)Up to 8KPNG, EXR1,000+ materials
ambientCGCC0 (public domain)Up to 8KPNG, JPG2,500+ materials
FreePBRFree for commercial useUp to 4KPNG, JPG500+ materials
3DTextures.meCC0 (public domain)Up to 4KPNG400+ materials
LotPixel HubCC0 (public domain)Up to 8KPNG1,300+ scan-based

All of these sources export in the metallic-roughness workflow. After downloading, upload the texture set directly into FindUtils' PBR Material Previewer to verify quality and tiling before importing into your game engine.

Tip: If you need to convert texture formats before uploading (for example, TIFF to PNG), use the Image Converter to switch formats instantly in your browser.

How to Test PBR Materials Online with FindUtils

FindUtils offers a free, browser-based PBR Material Previewer that lets you upload texture maps and see the result on a 3D shape in real time. No software installation, no account, and no data uploaded to a server -- everything runs locally in your browser using WebGL.

Step 1: Open the PBR Material Previewer

Navigate to the PBR Material Previewer. You will see a texture upload panel on the left and a 3D viewport on the right.

Step 2: Upload Your Texture Maps

Drag and drop or click to upload your texture maps into the five slots: Albedo/Color, Normal Map, Roughness, Metallic, and Ambient Occlusion. The tool accepts PNG, JPG, and WebP formats. Start with the albedo map to see immediate results, then layer in additional maps.

Step 3: Choose a Preview Shape

Select a shape that matches your use case. Use a sphere for organic or curved materials (skin, fabric, clay), a cube for architectural materials (brick, concrete, tile), a plane for ground/floor textures, or a torus for testing how the material wraps around complex curvature.

Step 4: Adjust Material Properties

Fine-tune the result using the control panel:

  • Tiling (Repeat X/Y): Set to 2-4 to check if your texture tiles seamlessly
  • Normal Intensity: Increase to exaggerate surface detail, decrease for subtlety
  • Roughness Override: Test how the material looks at different roughness levels
  • Metallic Override: Toggle between metal and non-metal behavior
  • Environment Lighting: Toggle HDR environment reflections on or off

Step 5: Inspect and Iterate

Click and drag to rotate the 3D preview. Scroll to zoom in for detail inspection. Right-click to pan. Look for tiling seams, normal map artifacts, and roughness inconsistencies. Go back to your texture authoring tool, fix any issues, and re-upload.

PBR Material Previewer: Free Online vs Desktop Software

FeatureFindUtils (Free)Substance 3D ($50/mo)Marmoset Toolbag ($190)
PriceFree forever$49.99/month$189 one-time
Signup RequiredNoYes (Adobe ID)Yes (license key)
InstallationNone -- runs in browser2.5 GB download500 MB download
Data PrivacyClient-side, nothing uploadedCloud sync availableLocal only
Texture Map SupportAlbedo, Normal, Roughness, Metallic, AOFull PBR + height, emissive, SSSFull PBR + custom maps
Preview ShapesSphere, cube, cylinder, torus, planeCustom meshesCustom meshes
Texture AuthoringPreview onlyFull authoring suitePreview + baking
Best ForQuick preview, tiling checks, learning PBRProfessional texture creationPresentation and baking

FindUtils' tool is not a replacement for a full authoring suite like Substance Painter. It is the fastest way to preview and validate texture sets without opening heavy software -- especially useful when downloading textures from free libraries and wanting to inspect them before importing into your engine.

Engine-Specific PBR Tips

PBR is standardized in theory, but each engine has its own import quirks. Here are the most important settings to check in each.

Unity

  • Use the Standard or URP Lit shader (both support metallic-roughness PBR)
  • Mark normal maps as Normal map in the import settings -- Unity converts them to the correct internal format
  • Unity uses Smoothness (inverted roughness) by default. Either invert your roughness map or set the smoothness source to "Metallic Alpha" and pack roughness into the metallic map's alpha channel
  • AO goes into the Occlusion slot on the material

Unreal Engine

  • Unreal uses DirectX normal maps -- flip the green channel if your maps are authored in OpenGL convention
  • Pack AO (R), Roughness (G), Metallic (B) into a single ORM texture for Unreal's channel-packed workflow
  • Set texture compression to BC5 for normal maps and BC7 for albedo to preserve quality
  • Use the Material Instance system to tweak values without recompiling the full shader

Godot

  • Godot 4.x uses the metallic-roughness workflow in its StandardMaterial3D
  • Normal maps should use OpenGL convention (Y-up)
  • Roughness and metallic can be separate textures or packed into channels
  • Import textures as VRAM Compressed for GPU performance in-game

Three.js (Web)

  • Three.js MeshStandardMaterial and MeshPhysicalMaterial both use metallic-roughness PBR
  • Normal maps use OpenGL convention by default
  • Set material.roughness and material.metalness as base values, then override with texture maps
  • Use compressed textures (KTX2 with Basis Universal) for web delivery -- the Image Compressor can help optimize source textures before compression
  • FindUtils' PBR Material Previewer is itself built on Three.js, so what you see there closely matches what you will get in your Three.js application

Tools Used in This Guide

  • PBR Material Previewer -- Upload and preview PBR texture maps on 3D shapes in real time
  • 3D Model Viewer -- View and inspect 3D model files (glTF, GLB, OBJ) with PBR materials applied
  • 3D Geometry Visualizer -- Visualize geometric primitives and understand 3D coordinate systems
  • Image Compressor -- Optimize texture file sizes for game builds and web delivery
  • Image Converter -- Convert texture files between PNG, JPG, WebP, and other formats
  • Image Color Extractor -- Extract dominant colors from reference photos for albedo color matching

FAQ

Q1: What is PBR and how does it differ from older shading models? A: PBR (Physically Based Rendering) is a shading approach that simulates real-world light behavior using energy conservation principles. Unlike older models like Phong or Blinn-Phong that relied on artistic approximation, PBR materials look correct under any lighting condition without manual tweaking. This is because PBR calculates diffuse reflection, specular reflection, and Fresnel effects based on measured physical properties.

Q2: What are the five core PBR texture maps? A: The five core PBR texture maps are albedo (base color without lighting), normal map (surface detail encoded as RGB directions), roughness (micro-surface smoothness from 0 to 1), metallic (binary metal vs non-metal classification), and ambient occlusion (contact shadows in crevices). Together, these five maps give a renderer enough information to produce physically accurate shading on any surface.

Q3: What is the difference between metallic-roughness and specular-glossiness workflows? A: Metallic-roughness uses a binary metallic map and a roughness map, and is the standard in Unity, Unreal, Godot, Three.js, and glTF. Specular-glossiness uses an RGB specular color map and an inverted glossiness map, and is a legacy format mostly found in older pipelines. Metallic-roughness is more memory-efficient and is the recommended workflow for game development in 2026.

Q4: Where can I find free PBR textures for commercial use? A: Poly Haven, ambientCG, and 3DTextures.me all offer CC0 (public domain) PBR textures free for commercial use. FreePBR and LotPixel Hub also provide free scan-based materials. These libraries include full texture sets with albedo, normal, roughness, metallic, and AO maps at resolutions up to 8K.

Q5: Is FindUtils' PBR Material Previewer free to use? A: Yes. FindUtils' PBR Material Previewer is completely free with no signup, no usage limits, and no ads. All processing happens in your browser using WebGL -- no textures are uploaded to any server, making it safe for proprietary game assets.

Q6: Can I test PBR materials online without installing software? A: Yes. FindUtils' PBR Material Previewer runs entirely in your browser. Upload your albedo, normal, roughness, metallic, and AO maps, choose a preview shape, and inspect the result with orbit controls. It works on any modern browser without plugins or downloads.

Q7: What is the best free PBR material previewer online in 2026? A: FindUtils offers one of the best free online PBR material previewers available. It supports all five core texture map types, multiple preview shapes (sphere, cube, cylinder, torus, plane), adjustable tiling and normal intensity, and environment lighting -- all running client-side for maximum privacy. No account or installation required.

Q8: How do I know if my normal map is OpenGL or DirectX format? A: Look at the green channel of the normal map. In OpenGL format (used by Blender, Three.js, Godot), raised surfaces have lighter green on top. In DirectX format (used by Unreal Engine), raised surfaces have lighter green on the bottom. If bumps look inverted in your engine, flip the green channel in an image editor to switch between conventions.

Next Steps

Now that you understand PBR materials, put your knowledge into practice:

  • Preview your textures instantly with the PBR Material Previewer -- upload maps and inspect them on 3D shapes
  • View complete 3D models with applied materials using the 3D Model Viewer to see how textures look on actual game meshes
  • Optimize texture file sizes for production builds with the Image Compressor -- reduce PNG and JPG weight without visible quality loss
  • Explore 3D geometry fundamentals with the 3D Geometry Visualizer to understand coordinate systems and mesh primitives
FindUtils FindUtils

Free online utility tools for developers, designers, and everyone.

Popular Tools

  • Password Generator
  • QR Code Generator
  • JSON Formatter
  • Color Converter
  • Gradient Generator
  • Box Shadow Generator

More Tools

  • UUID Generator
  • PDF Merger
  • Image Compressor
  • Base64 Encoder
  • All Tools
  • New Tools

Company

  • About
  • Guides
  • Blog
  • Contact
  • Privacy Policy
  • Terms of Service
  • Open Source
  • Sitemap

Settings

Manage Data

© 2026 FindUtils. All rights reserved.