Baltor Get started

Gallery / Procedural textures

Pixel-art roof tiles in overlapping courses

In your harnessProcedural textureMIT

Generate a tileable pixel-art roof at a chosen art resolution: courses laid from the eaves up with square, round fish-scale or pointed tile ends, cast shadows on the course below, lit and shaded edges, tints, wood grain and moss, with per-pixel normal, height, roughness and occlusion maps. Use for 2D houses.

Render of Pixel-art roof tiles in overlapping courses
The render its check recorded in Godot 4.7.2, 256 by 256 pixels.

What it takes and gives

Entry point
generate
Maps
albedo, normal, roughness, height, ao
Parameters
art_pixels, course_pairs, tiles_per_course, end_shape, overlap, grain, moss, relief and 3 more
Presets
default, blue_slate, verdigris_scales, wooden_shingles
Tileable
yes
Command line
python pixel_roof_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)

Limits. Stylized pixel art with the light from the top left baked into the tile edges and shadows; it shows a flat roof plane, with no ridges, valleys, hips or eaves. Every other course shifts by half a tile, so the course count is even. Tile ends are three fixed shapes, and wooden shingles vary only in width. Roughness and height are values per drawn class, and the normal map treats each art pixel as a flat facet. Output sizes that are not a whole multiple of art_pixels give art pixels of unequal widths. Occlusion is a blurred-height estimate posterized to eighths.

Details

Kind
Procedural texture
Engine
Python 3.10 or later
Files
12 files, 179.0 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
Course painting from the eaves upward with a cyclic overlap on a torus, Tile ends cut as square, elliptical or pointed shapes, Cast shadow one pixel below each tile end, Half-tile course offset, Per-art-pixel normals by central differences
Tags
texture, pixel art, tileable, roof, tiles, shingles, slate, 2d
Identity
library.supply.creative_originals.9b7a66ea2837bc82944c308f.fb1ab1c2dfdb2983
Version
fb1ab1c2dfdb2983d2d02f0862623a8dda8a17a907495152991ca877e718d85d

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.