Baltor Get started

Gallery / Procedural textures

Pixel-art grass tile with tufts and flowers

In your harnessProcedural textureMIT

Generate a tileable pixel-art grass tile at a chosen art resolution (16 to 64 pixels), enlarged with crisp nearest-neighbour pixels: dithered lawn patches, blade tufts, flowers and pebbles, with per-pixel normal, height, roughness and occlusion maps. Use for top-down and side-view 2D games.

Render of Pixel-art grass tile with tufts and flowers
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, tufts, blade_length, flowers, pebbles, patchiness, relief, hue_shift and 2 more
Presets
default, dry_meadow, flower_meadow, frosted
Tileable
yes
Command line
python pixel_grass_tile.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, not a physically based material: roughness and height are values per drawn class chosen for 2D lighting, and the normal map treats each art pixel as a flat facet. Tufts, flowers and pebbles are small fixed sprites, so a 16-pixel grid shows single-pixel flowers and fewer details. 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, 182.6 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
Ordered dithering with a 4 x 4 Bayer matrix, Posterized fractal noise for lawn patch tones, Back-to-front sprite painting with wrap-around, Nearest-neighbour enlargement of an art grid, Per-art-pixel normals by central differences
Tags
texture, pixel art, tileable, grass, 2d, game tile, lawn, procedural
Identity
library.supply.creative_originals.59e076118da23430d862781f.52cc3e514a6ec3a7
Version
52cc3e514a6ec3a7193bb3e36652a1be0f55d7a41edd6978d030609aa0ee51db

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.