โ† All examples

procedural textures

Staggered roof shingles: slate, asphalt or cedar

Generate tileable PBR maps of roof shingles in staggered overlapping rows: natural slate, asphalt with mineral granules or split cedar shakes, with square, round fish-scale or pointed butts, keyways, cast shadows under each butt, and weathering. Use for house roofs, towers, sheds and shingled walls.

Recorded render of Staggered roof shingles: slate, asphalt or cedar

What this component contains

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

How it works

Entry point
generate
Maps
albedo, normal, roughness, height, ao
Parameters
material, butt, rows, per_row, width_variation, keyway, thickness, weathering and 4 more
Presets
default, asphalt_charcoal, cedar_shakes, fishscale_slate, pointed_green
Tileable
yes
Command line
python roof_shingles.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

The slope always runs down the tile height. Shingles are flat pieces whose thickness shows only as a step in height and a darker band; there are no nail heads, ridges, valleys, flashing or architectural laminated shingles. Shadows under the butts are tinted into the albedo, so they read as baked under strong side light. Granules, cleft layers, grain, lichen and moss are noise approximations. Occlusion is a blurred-height estimate, not ray traced.