โ† All examples

procedural textures

Hexagonal ceramic tiles with lattice colour patterns

Generate tileable PBR maps of hexagonal ceramic tiles on a periodic hex lattice, with grout, rounded and pillowed glaze, chipped edges and a colour rule (random accents, scattered flowers, alternating rows or clustered blends). Use for bathroom and kitchen walls, floors and terracotta paving.

Recorded render of Hexagonal ceramic tiles with lattice colour patterns

What this component contains

  • ATTRIBUTION.md
  • LICENSE
  • README.md
  • blender_material.py
  • component.json
  • hexagon_tiles.py
  • material.tres
  • pngio.py
  • preview.png
  • test_package.py
  • texkit.py
  • verification/native.json

How it works

Entry point
generate
Maps
albedo, normal, roughness, height, ao
Parameters
columns, pattern, grout_width, grout_depth, bevel, pillow, glaze_waviness, chipping and 6 more
Presets
default, black_white_flowers, terracotta_pavers, mint_rows, ocean_blend
Tileable
yes
Command line
python hexagon_tiles.py --size 1024 --seed 7 --preset NAME --out DIR [--width W --height H] [--set NAME=VALUE] [--directx-normal] [--orm]
Godot material
material.tres
Blender builder
blender_material.build_material(folder)

Recorded checks

godot 4.7.2.stable.official.ed1daf0bf

  • command_line_generates_declared_maps
  • maps_decode
  • maps_have_declared_size_and_channels
  • maps_tile_without_a_seam
  • normal_vectors_unit_length_facing_out
  • maps_carry_detail
  • godot_imports_the_maps
  • godot_material_template_loads_every_map
  • godot_compatibility_render
  • capture_shows_the_textured_surface
  • blender_builds_the_material

Limits to consider

A square tile holds an even number of hexagon rows, so hexagons are squashed or stretched by up to 4 percent for 5 columns and about 1 percent for 7, 12, 14 or 19 columns (15 percent for 3, 4 or 6). Glaze is opaque colour with a low roughness; there is no crazing, transparency or depth in the glaze. Flowers are dropped greedily in a seeded order, so their spacing is irregular. Occlusion is a blurred-height estimate, not ray traced.