An AI PBR texture generator workflow — from text description to imported material in your engine — takes about 2 minutes once you know the steps. This guide walks through the complete process: writing an effective prompt, understanding what the generator produces, configuring maps correctly in each major engine, and iterating efficiently when the first result isn't quite right.
What You Get from an AI PBR Generator
A purpose-built AI PBR texture generator like Grix outputs five separate image maps from a single text prompt:
- Basecolor (Albedo): Raw surface color, no lighting baked in — this is what the engine's lighting system illuminates dynamically
- Normal map: Encodes micro-surface direction as RGB vectors — creates the illusion of depth and surface detail without additional geometry
- Roughness map: Greyscale, controls how light scatters: black = mirror, white = fully diffuse matte
- Metallic map: Greyscale, separates metal from non-metal regions on the surface — drives PBR energy conservation
- Height map: Greyscale displacement data for tessellation-based geometry displacement on close-up surfaces
All five maps are generated simultaneously from one prompt and output as seamlessly tiling PNGs. The generation takes approximately 12 seconds.
Step 1 — Write an Effective PBR Texture Prompt
The quality of your PBR maps is largely determined by the prompt. Effective prompts for PBR surface generation describe four things:
Material type: Be specific about what the surface is made of. "Metal" is too broad. "Brushed stainless steel" gives the generator the material class, surface treatment, and implied finish. Other examples: "worn cast iron," "polished black granite," "raw concrete with aggregate visible."
Surface condition: New or aged? Clean or dirty? Intact or damaged? "Weathered oak planks with grey patina and surface checks" produces a very different result from "fresh-cut oak with clean grain." Condition drives roughness variation and basecolor value.
Color character: If color is important, describe it. "Warm amber tones," "cool blue-grey," "desaturated earth tones" — these steer the basecolor output toward your art direction without being overly prescriptive.
Geometric micro-detail: What features should appear in the normal map? "Horizontal form lines," "cobblestone joints," "knot holes and surface checks," "weld seams," "tile grout lines." These geometric descriptors directly influence normal map detail.
A complete prompt example: "Aged terracotta floor tile, deep rust-red with salt efflorescence at edges, rough matte finish, visible grout lines in pale grey, slight surface chips at corners."
Step 2 — Generate and Evaluate the Maps
After generation, review each map before importing:
Basecolor: Check for lighting baked into the texture (shadows or highlights that look like they came from a fixed light source). A good basecolor is relatively flat in terms of value — the engine adds lighting dynamically. If you see strong shadow casting in the basecolor, the prompt may need adjustment.
Normal map: Should appear as a medium-blue image with subtle RGB variation. Check that the surface details you described appear as raised/recessed features — zooming in and mentally interpreting the RGB channels confirms directionality.
Roughness: Should be greyscale, with variation that matches the surface character. A polished surface should be predominantly dark (low roughness). A rough stone should be predominantly mid-to-light grey.
Tiling: Zoom out and check for visible seam lines at the edges. A well-generated tileable map should show no visible boundary when tiled 4x4.
Step 3 — Import in Blender
In Blender with the Principled BSDF shader:
- Basecolor → Base Color socket. Set Image Texture node to sRGB color space.
- Normal → Add a Normal Map node between the Image Texture and the Normal socket. Set Image Texture to Non-Color data. Leave Normal Map strength at 1.0 initially.
- Roughness → Roughness socket. Set Image Texture to Non-Color data.
- Metallic → Metallic socket. Set Image Texture to Non-Color data.
- Height → Connect to a Displacement node on the Material Output (not to Principled BSDF). Enable Displacement and Bump in Material Properties. Set Image Texture to Non-Color data.
For UV tiling, add a Mapping node between a Texture Coordinate (UV output) and each Image Texture node. Adjust the Scale X and Scale Y values together to control tiling density. For a 1-meter floor tile with 4x tiling, set Scale X and Y to 4.
For engine-specific Blender guides, see Grix textures in Blender.
Step 4 — Import in Unreal Engine 5
Import all five PNGs via the Content Browser. Configure each texture asset:
- Basecolor: Compression = Default (BC1/BC3). sRGB = Enabled.
- Normal: Compression = Normal Map (BC5). sRGB = Disabled. Note: Grix normal maps are DirectX convention (no green channel flip needed for UE5).
- Roughness / Metallic / Height: Compression = Grayscale (BC4). sRGB = Disabled.
In the Material Editor, connect: T_Name_D → Base Color, T_Name_N → Normal (via TextureSample → Normal), T_Name_R → Roughness, T_Name_M → Metallic, T_Name_H → World Displacement (with tessellation enabled). Set UV tiling via Texture Coordinate node or Scalar Parameter for the tiling multiplier.
Full Unreal integration walkthrough: Grix textures in Unreal Engine.
Step 5 — Import in Unity (URP/HDRP)
In Unity with URP or HDRP, create a Lit material and assign maps:
- Basecolor → Base Map. Texture type: Default, sRGB checked.
- Metallic/Smoothness → Unity combines these into one texture (R = metallic, A = smoothness). You can use the metallic map directly in the Metallic Map slot and set Smoothness Source to Metallic Alpha — or invert roughness in an image editor (1 - roughness = smoothness) for cleaner control.
- Normal → Normal Map slot. Texture type: Normal map. Unity handles the OpenGL/DirectX conversion automatically in most versions.
- Height → Enable Parallax Mapping and assign to Height Map slot.
Tiling scale is controlled per-material via the Tiling fields next to each map slot. A value of 4/4 tiles the texture 4 times in each axis.
See Grix textures in Unity for material graph setup with URP and HDRP templates.
Iteration Tips
When the first generation isn't quite right, targeted adjustments to specific parts of the prompt are more efficient than rewriting the whole thing:
- Roughness too uniform → add roughness variation language: "uneven roughness, smoother in protected areas, rougher at edges"
- Normal map detail too subtle → add more geometric descriptor language: "deep grout lines," "pronounced surface grain," "strong knot definition"
- Basecolor too saturated → add "desaturated," "muted tones," or a specific value descriptor
- Not reading as the right material at a distance → add the material's most diagnostic visual property to the start of the prompt
For surfaces that require very specific color matching, generate several variations and pick the closest, then adjust the basecolor in a 2D editor. The PBR structure (normal, roughness, metallic) from a good generation can remain intact even if you need to recolor the basecolor to hit a specific value in your color script.
Ready to run this workflow? Try it at grixai.com/try — no login required on the free trial. For tips on specific surface types, see the complete guide to generating PBR textures with AI.
Frequently Asked Questions
How long does AI PBR texture generation take?
On Grix, generation takes approximately 12 seconds from prompt submission to all five maps available for download. This includes basecolor, normal, roughness, metallic, and height maps simultaneously.
Do I need different settings for each engine?
The main differences are color space settings (sRGB vs. Non-Color/Linear for non-basecolor maps) and normal map convention (DirectX vs. OpenGL). Grix outputs DirectX normal maps, which import correctly into Unreal Engine 5 without the green channel flip. Blender and Unity handle the convention automatically.
What resolution do the maps come out at?
Grix generates 1K (1024x1024) maps on the free tier and 2K (2048x2048) on paid plans. For most in-engine use at standard camera distances, 2K is sufficient. Height maps can be upscaled with AI upscaling tools if 4K displacement is needed for hero surfaces.
Can I use the generated textures in commercial projects?
Yes. All textures generated on Grix paid plans come with a commercial license. Free trial outputs are for evaluation purposes; upgrading to any paid plan unlocks commercial use.
How many variations should I generate per material?
For background and filler materials, one generation is typically sufficient with minor prompt iteration. For hero surfaces (a specific stone floor that appears prominently in a key scene), generate 3–5 variations and select the best. The 12-second generation time makes this practical without significant workflow overhead.