The exported set
Albedo is stored as sRGB color. Every data map is exported without applying display gamma. The ZIP also contains a short import note and uses explicit normal convention naming.
- Normal: tangent-space direction
- Height: 8-bit or high-precision 16-bit
- Roughness and Metallic: editable approximations
- AO and ORM: engine-ready packing
Build a PBR texture set from one image
Load a clean albedo, scan or height source and inspect the inferred height map first because several derived textures depend on it. Set blur, levels and edge handling before tuning normal strength. Then review roughness, metallic and ambient occlusion separately instead of treating the complete set as one automatic result.
Choose the Blender, Unity, Unreal Engine or Godot preset to set a practical normal convention, but still verify the destination material. Use the 3D preview to test multiple primitives, UV repetition and moving light. Export individual maps while iterating, then download the ZIP when the set is internally consistent.
Understand each generated map
Normal describes tangent-space surface direction and affects lighting without changing the silhouette. Height represents relative elevation and can drive bump, parallax or displacement. Roughness controls highlight spread, metallic separates conductive metal from dielectric material, and ambient occlusion approximates small-scale indirect-light reduction.
A single color image does not contain enough information to recover every physical property. Roughness and metallic generation therefore produces editable masks, not measured values. Correct painted metal, exposed substrate, wet regions and coatings by material meaning before using the set in a final asset.
Import color and data textures correctly
Albedo should normally use sRGB color sampling. Normal, height, roughness, metallic, AO and ORM should be treated as Linear or Non-Color data. The ORM file uses red for AO, green for roughness and blue for metallic; repack it when a destination pipeline expects smoothness or a different channel order.
Use 16-bit height only when extra displacement precision is valuable. Normal and other material maps are generally distributed as 8-bit PNG. After import, test at the target material scale and compression settings because an artifact-free browser preview does not guarantee the same result after engine compression.
Choose a source image for PBR generation
Start with an image that describes the material rather than a finished lighting result. A flat albedo capture, scanned surface or authored height field is easier to interpret than a photograph with cast shadows, perspective and clipped reflections. Shoot or scan perpendicular to the surface, use diffuse illumination and correct lens distortion. Remove large color or exposure gradients before generating maps because several outputs depend on the same inferred height information.
Use enough resolution for the detail that will survive at the final texel density. PNG preserves lossless edges and transparency; well-encoded WebP can be practical; JPEG artifacts may become false normal, roughness or AO detail. Prepare tile seams in the source and test them early. The generator can sample repeated edges correctly, but it cannot make an inherently mismatched photograph seamless by itself.
Create the maps in a reliable order
Inspect albedo and height first. Adjust levels, inversion, blur and edge handling until the relative elevation is plausible. Next set normal strength and select the OpenGL or DirectX convention. Roughness, metallic and AO should be tuned after the broad surface shape is stable. Working in this order prevents a later height correction from invalidating every map that was judged from the earlier interpretation.
Use moderate defaults and change one parameter group at a time. Compare 2D channels for artifacts, then use the 3D preview for material behavior. Test a plane for seams, a sphere for highlights and a displaced form for height response. Download individual maps during iteration if they need external painting, and create the complete ZIP after conventions and channel meanings have been confirmed.
Normal and height serve different purposes
A tangent-space normal map changes the direction used by lighting calculations without moving vertices or changing the silhouette. It is efficient for small and medium surface detail. Height stores relative elevation as a scalar field and can drive bump, parallax, tessellation or true displacement depending on the renderer. More height precision helps only when the destination technique can use it.
Choose 16-bit height for visible displacement gradients where 8-bit stepping might appear. Keep normal maps in their expected RGB data format and label the Y convention clearly. Do not apply sRGB conversion to either map. When both are used, let height describe broad relief and normal describe finer slopes, then confirm that the two agree under moving light.
Author roughness and metallic by meaning
Roughness controls highlight width and clarity. Metallic distinguishes conductive metals from dielectric materials such as paint, stone, wood and plastic. These properties cannot be measured reliably from a single color image. The generated textures expose adjustable starting masks, but final values should follow the intended substances and coatings rather than pixel brightness alone.
Correct painted metal so intact paint remains nonmetal and only exposed substrate becomes metal. Treat rust, dirt and most oxidation as dielectric layers even when they sit on metal. Use broad, restrained roughness variation and inspect moving reflections for noise. A plausible material often needs manual masks for wear, liquid, polish and layered coatings after automatic generation.
Use ambient occlusion without double shading
Generated AO estimates small crevice occlusion from the height field. It can support cracks and recessed texture detail, but it does not replace an object-space bake made from the final mesh. Keep its strength subtle and connect it to the renderer's occlusion input so it affects the intended indirect-light term. Multiplying it permanently into albedo can make cavities too dark when other AO and shadows are added.
For a complete asset, combine scales carefully: material AO for microstructure, baked AO for mesh cavities and renderer AO for scene contact. Evaluate each layer independently before enabling them together. If the texture will be packed, Normal Map Maker places AO in ORM red, roughness in green and metallic in blue.
Select an engine preset and verify it
The Blender, Unity and Godot presets use the OpenGL-style +Y normal convention, while the Unreal Engine preset uses DirectX-style −Y. A preset is a reliable starting point, not a replacement for checking the actual shader. Custom render pipelines, imported assets and project-specific channel packing can require different settings.
After import, rotate a light around the surface. If one axis looks reversed, switch the normal convention or invert green. Confirm that data maps bypass sRGB sampling and that the shader reads the ORM channels in the exported order. Test the same asset with production compression, mipmaps and UV scale because those settings can expose seams or remove subtle variations that were visible in the authoring preview.
Organize and export a production-ready set
The ZIP uses consistent filenames and includes the selected normal convention in the normal-map name. Preserve those suffixes when moving files into a project so import rules and collaborators can identify their purpose. Keep albedo as sRGB color; import normal, height, roughness, metallic, AO and ORM as Linear or Non-Color data. Retain separate source maps even when the runtime material uses packing.
Version the source image and important settings alongside the exported textures because local processing intentionally creates no cloud project history. Review alpha handling for cutout materials, final texture dimensions and whether the destination requires power-of-two sizes. A complete set is ready only when every channel has been checked individually and together in the target renderer.
Quality checklist before download
Inspect the normal map for a mostly blue tangent-space appearance, correct raised and recessed directions, clean edges and no compression-shaped noise. Check height for smooth gradients and an appropriate midpoint. Watch roughness highlights under motion, correct metallic by material class and keep AO from crushing cavities. Confirm tile seams on a repeated plane and review the asset from its expected camera distance.
Finally, verify OpenGL or DirectX orientation, color-space flags, ORM channel order and height bit depth against the destination pipeline. Automatic generation saves setup time, but these explicit checks are what turn a group of plausible images into a dependable PBR texture set. Keep the files editable and expect final art direction to happen in the engine or material authoring application.
- Albedo uses sRGB; all generated material data remains linear
- ORM uses red AO, green roughness and blue metallic
- The normal filename records OpenGL or DirectX convention
- The final target renderer determines whether the material is correct
