Lumion's AI PBR Material Generator includes bricks as one of its built-in material presets — upload a reference photo of a brick surface and Lumion extracts the PBR maps optimized for use inside its renderer. For architects already on a Lumion subscription building client-facing visualizations, this is a practical addition to an existing workflow. For everyone else — Blender users, Unreal Engine teams, Unity developers, or anyone not paying $60-75+/month for Lumion — the brick material workflow requires a different tool.
This guide covers how to generate high-quality brick and masonry PBR textures from text prompts, with output that imports directly into any renderer without renderer lock-in or photo input requirements.
Why Lumion's Brick Generator Has a Narrow Fit
Lumion's AI Material Generator works by extracting PBR properties from a reference photograph. For brick, this means you need a photo of the specific masonry surface you want to reproduce. The workflow is photo-in, Lumion-optimized-PBR-out. Three constraints limit its usefulness outside the Lumion ecosystem:
Photo requirement. If you want a brick material that doesn't exist photographically — a specific color variant, an unusual bond pattern, a weathering state you're imagining rather than photographing — Lumion's tool can't generate it from description. You need a reference image. For custom or stylized environments, this is a significant gap.
Renderer lock-in. The PBR maps Lumion generates are optimized for Lumion's rendering engine. They aren't exported as portable PNG sets you can drop into Blender, Unreal Engine 5, or Unity. If your team uses any renderer other than Lumion, or if you need the same brick material in multiple engines, the output doesn't travel with you.
Subscription cost. The AI Material Generator is a feature inside a Lumion subscription. Lumion Standard starts at approximately $60-75/month. For teams whose primary need is PBR texture generation rather than full architectural rendering, this is a high entry cost for a single feature among many.
Text-to-PBR Brick Generation: The Cross-Platform Approach
Grix generates brick and masonry PBR textures from text descriptions, with no reference photo required and no renderer lock-in. Enter a description at grixai.com/try — free trial, no login — and receive a ZIP of five calibrated PBR maps: basecolor, normal, roughness, metalness, and height. Generation takes approximately 25 seconds.
The maps tile seamlessly and import into Blender, Unreal Engine 5, Unity, Godot, 3ds Max, and any other renderer that accepts standard PBR inputs. Pricing starts at $8/month for the Light plan, compared to $60+/month for a Lumion subscription.
Brick Prompt Techniques for PBR Quality
The quality of a generated brick texture depends heavily on prompt specificity. Generic prompts like "brick wall" produce generic results. These elements have the most impact on output quality:
Bond pattern. "Running bond" (the standard alternating offset), "English bond" (alternating courses of headers and stretchers), "Flemish bond" (alternating headers and stretchers in each course), and "stacked bond" (grid layout) each produce distinctive normal map geometry. Specify the bond pattern and the normal map will reflect it in the horizontal and vertical joint depth.
Mortar joint type. "Raked mortar joints" produces the deepest joint recess — maximum shadow contrast between brick face and mortar. "Flush mortar joints" gives a flatter normal map that reads as modern or industrial. "Tooled concave joints" produces a smooth curved recess, characteristic of traditional brickwork that was finished by hand. The joint type is the single most visible element in the normal map under directional lighting.
Brick type and era. "Victorian pressed red brick" gives surface variation and irregular edges from a hand-pressing process. "Modern machine-made brick" produces tight tolerances and uniform color. "Handmade artisan brick" exaggerates irregularity — good for historical, rustic, or character environments. "Glazed brick" or "clinker brick" shifts roughness down to 0.4-0.55 with visible surface sheen. "Sandblasted brick" pushes roughness to 0.85-0.9+.
Color and weathering. "Aged Victorian red brick with soot deposits" gives a basecolor with dark horizontal banding from decades of weathering. "Whitewashed brick with paint wear at edges" produces a high-value basecolor with exposed brick color at corners and mortar lines. "Charred brick, fire-damaged" pushes toward black with roughness at 0.9+. All of these are impossible to obtain from photo-to-PBR extraction without a physical sample to photograph.
Prompt Examples for Common Brick Materials
Standard architectural brick: "Running bond red clay brick, tooled concave mortar joints, uniform color, slightly rough surface" — clean, professional, works across exterior facades and interior accent walls.
Aged historical brick: "Victorian pressed red brick, raked mortar joints, color variation per brick, surface weathering with slight efflorescence on mortar, 0.8 roughness" — character-appropriate for period environments.
Modern industrial: "Wire-cut dark charcoal engineering brick, flush mortar joints, machine precision, 0.75 roughness" — reads as industrial or contemporary loft aesthetic.
Worn warehouse: "Worn red brick with exposed aggregate, chipped corners, mortar patching in lighter grey, high surface variation" — good for game environments requiring readable surface damage.
Decorative glazed: "Glazed ceramic brick in deep teal, smooth surface, running bond, polished finish with subtle crazing in glaze" — architectural accent tile material.
Blender Import Workflow
In Blender, use a Principled BSDF with all five maps connected. For brick, displacement is critical — the mortar joints and brick surface variation in the height map read significantly better when displacement is enabled rather than approximated with normal alone.
Enable Adaptive Subdivision on the mesh (Cycles, not Eevee). Set displacement to "Displacement and Bump" in Material Properties. Connect the height map to the Displacement input of Material Output through a Displacement node. Set displacement scale to 0.01-0.03m — brick joint depth is physically about 3-8mm. A Mapping node controlling UV scale lets you set tile frequency: at 1.0 scale, each brick face is approximately 225mm × 75mm, so a 3m wall needs roughly 13 bricks across — set UV scale accordingly.
For normal map import: set Image Texture color space to "Non-Color". Grix outputs OpenGL-convention normals, which Blender expects natively. No channel flip required.
Unreal Engine 5 Import Workflow
UE5 uses DirectX normal convention (green channel inverted relative to OpenGL). Grix outputs OpenGL convention by default. When importing in UE5: enable "Flip Green Channel" in the texture import settings for the normal map, or set the normal map's "Flip Green Channel" property in the Texture Editor after import.
For Nanite displacement using the height map: create a Material with Displacement enabled. Connect Height to World Displacement through a multiply node (scale factor 0.5-2.0 depending on physical scale of the brick surface in your scene). Use Virtual Textures for large surfaces like building exteriors where multiple instances of the brick tile across thousands of square meters.
Connect Roughness to Roughness, Metallic (will be near-zero for clay brick) to Metallic, Basecolor to Base Color, and Normal to Normal. Brick metalness should be 0.0-0.05 — clay is a non-metal dielectric.
When Lumion's Brick Tool Makes Sense
If your team is running Lumion as the primary rendering platform for architectural visualization and you have reference photography of the specific masonry surface a client wants matched, Lumion's AI Material Generator is the right tool — it's integrated, the workflow is fast, and the output is already calibrated for your renderer. The brick preset handles standard masonry photo extraction well.
It's the wrong tool for teams outside the Lumion ecosystem, for custom or stylized brick materials not available in photographic reference, for cross-platform pipelines where the same material needs to work in multiple renderers, or for any project where the entry cost of a Lumion subscription is disproportionate to the texture generation need.
Frequently Asked Questions
Can Grix match a specific brick color from a photo like Lumion does?
Grix is text-to-PBR rather than photo-to-PBR. You describe the color in text: "warm red-orange hand-pressed brick, slight orange-buff variation per brick". The result won't be a photogrammetric match to a specific sample, but it will match a described color profile. For exact photo-matching of a specific brick sample, photo-to-PBR tools (Lumion inside its ecosystem, or GenPBR for cross-platform photo input) are the appropriate choice. For custom, stylized, or described materials, Grix produces results that photo extraction cannot.
Does Grix output normal maps in Blender convention or Unreal convention?
Grix outputs OpenGL convention (standard Blender convention). For Unreal Engine 5, enable Flip Green Channel on the normal map import. Unity uses OpenGL by default — no flip needed. This is the standard cross-platform convention; most renderers handle the conversion in import settings.
What roughness values should brick have in PBR?
Clay brick typically ranges from 0.75-0.90 depending on age and surface finish. Fresh machine-made brick sits toward 0.75. Aged and weathered brick moves toward 0.85-0.90. Glazed or clinker brick drops to 0.40-0.55. The Grix-generated roughness map encodes per-texel variation — the brick face and mortar joints will have slightly different roughness values, which is physically accurate.
How do I control the tiling scale for brick in my renderer?
Brick tiling scale is controlled via UV mapping in your renderer — the texture itself tiles seamlessly at any scale. Standard brick dimensions are approximately 225mm × 75mm × 112mm (face dimension). Scale your UV mapping so the texture tiles match physical brick dimensions at your scene's unit scale. In Blender, a Mapping node connected before the Image Texture lets you set this precisely.
Does the height map work for Nanite displacement in UE5?
Yes. The Grix height map works with UE5 Nanite displacement. Connect Height to the World Displacement input through a multiply node (multiply by 0.5-2.0 to control physical depth). Enable Displacement in the Material settings. Nanite handles high-polygon displacement for architectural surfaces efficiently. Set Tessellation Multiplier based on screen-space requirements — brick mortar joints at 5-8mm depth read well at 1.0-2.0 multiplier on close-camera surfaces.