Overview
Creates regular patterns such as brickwork, block walls, and floor tiles. You can adjust mortar thickness, brick size, alternating row offsets, color variation, and edge shading.
Use Grid Pattern for a simple grid or rows of dots. Use this node when blocks and
mortar are the main feature, as in a brick wall or stone paving.
Usage tips
- For a tileable asset, turn
wrap_x/wrap_yON. Dimensions adjust automatically to whole brick periods so the edges join. Check the repeat withtile_preview. - Color uses a three-part setup:
brick_color(base) +alt_color(variation color)variation(mix amount). A variation of 0.1–0.3 gives a natural old-wall look.
- To preserve a valid basket weave,
Basketuses an effective long side equal to two short sides plusmortar. When correction is needed, the long-side parameter shows a warning and the effective dimension. - The
surfaceoutput is powerful: bricks and mortar carry height, AO, and material IDs, so passing it throughsurface_light_previewimmediately produces a wall with depth. - The
regionsoutput provides one region ID per brick and is an entry point to the region system. IDs are independent of the color-variationseed. Send it toregion_*nodes to recolor or chip individual bricks.
Common pitfalls
- Partial bricks are cut at the edges when tiled:
wrap_x/yis OFF. Turn it ON to adjust dimensions to the pattern period. Conversely, OFF is the right call when you want a wall cropped through bricks at the edge. - The result looks flat: use
edge_shadeand light the surface output. Passing the surface throughsurface_light_previewis the quickest route instead of relying on the image output alone. - Surface edges still have relief at
edge_shade = 0:edge_shadecontrols only image-color darkening. A separate fixed edge bevel remains in the Surface height and AO maps.
Compatibility
- v4 makes Region IDs independent of the color-variation
seed. Existing graphs that selected numeric IDs produced with a nonzero seed in v3 or earlier must select the updated IDs once. - v4 also corrects Basket output to a valid basket-weave ratio, so existing Basket results change appearance.
row_offsetapplies only toRunning. It is not evaluated and is hidden in the Inspector forStackedandBasket.
Examples
- Create a brick wall with
layout = Running,brick_width = 32,brick_height = 16, androw_offset = 16. - Create square floor tiles with
layout = Stacked,brick_width = 16, andbrick_height = 16. - For repeating floors and walls, set
wrap_x = trueandwrap_y = true. Brick and mortar dimensions fit the nearest whole number of periods in the output, and color variation remains continuous for the same brick across an edge. - With looping OFF, brick dimensions are used unchanged and cropped to the output, which also supports partial bricks at the edges.
- Set
mortarto 1–3 for joints that read clearly in pixel art. - Raise
variationslightly to create an aged wall where each brick has a different color. - Connect
surfacetoSurface Light Previewand inspect the brick relief created by the difference betweenbrick_height_valueandmortar_height_value. - Change the color and lighting response of
core:brickandcore:stonein the material definitions to inspect the preview contrast between bricks and mortar.
Related nodes
grid_pattern— a simple grid without mortarregion_pattern_assign/region_remap— process individual regionssurface_light_preview— light the surface outputtile_preview— check seamless looping