โ† All examples

procedural textures

Perforated metal sheet with alpha holes

Generate tileable PBR maps of perforated sheet metal with alpha cut-outs: staggered or straight round holes, square holes, slots or hexagons on a repeating lattice, with punching burrs, rolled grain and optional paint. Use for grilles, speaker covers, screens, stair treads and facades.

Recorded render of Perforated metal sheet with alpha holes

What this component contains

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

How it works

Entry point
generate
Maps
albedo, normal, roughness, metallic, height, ao
Parameters
pattern, holes_across, open_area, burr, paint, grime, hue_shift, saturation and 1 more
Presets
default, square_black, slotted_grille, hex_speaker, straight_round_brass
Tileable
yes
Command line
python perforated_metal.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

Holes are cut through the albedo alpha, so the material needs alpha scissor or blending, and the hole walls have no thickness. Burrs are a thin height ring. The lattice runs edge to edge; real sheets keep solid margins this tile lacks. Occlusion is a blurred-height estimate, not ray traced.