Riveted metal plates
In your harnessProcedural textureMIT
Generate tileable PBR maps of riveted plating: a grid of lapped plates at slightly different heights, rows of domed or flush rivets along every edge, rust or dirt streaks running down from each rivet, and paint worn on rivet heads and edges. Use for ship hulls, tanks, airframes and steampunk props.

What it takes and gives
- Entry point
- generate
- Maps
- albedo, normal, roughness, metallic, height, ao
- Parameters
- plates_across, plate_rows, rivets_per_edge, rivet_size, rivet_height, paint, streaks, plate_variation and 3 more
- Presets
- default, steampunk_brass, airframe, rusty_tank
- Tileable
- yes
- Command line
- python riveted_plates.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)
Limits. Plates form a regular grid; real plating staggers its seams and follows frames and curvature. Rivets run in straight rows just inside each edge. Streaks always run toward the bottom of the tile. Occlusion is a blurred-height estimate, not ray traced.
Details
- Kind
- Procedural texture
- Engine
- Python 3.10 or later
- Files
- 12 files, 219.5 KB
- Licence
- MIT
- Declared effects
- runs commands, writes files
- Checked with
- Godot 4.7.2, gl_compatibility
- Checks
- 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
- Techniques
- Plate grid with a per-plate height for lapped seams, Domed and flush rivet head stamps, Downward exponential trail per column, swept twice for wrap-around, Height-driven paint wear on rivet heads and plate edges
- Tags
- texture, pbr, tileable, metal, rivets, plates, hull, steampunk
- Identity
library.supply.creative_originals.69d01581839a918fdc87f17b.a1ca7c10e2e9fea6- Version
a1ca7c10e2e9fea62b58f371c64054d267707693d0f83dfb5b3f107c7ddbd451
The version is the SHA-256 of the item your harness downloads; every file in it names its own checksum.
Something wrong with this item, its rights or its safety? Report it on the support page, or from your harness after a download.


