โ† All examples

procedural textures

Pixel-art rock with ore nuggets and gems

Generate a tileable pixel-art rock tile at a chosen art resolution: bevelled stone chunks with one-pixel crevices, evenly spread clusters of gold, iron or copper nuggets or gems with highlights, and cracks, with metallic, normal, height, roughness and occlusion maps. Use for mining walls and cave blocks in 2D games.

Recorded render of Pixel-art rock with ore nuggets and gems

What this component contains

  • ATTRIBUTION.md
  • LICENSE
  • README.md
  • blender_material.py
  • component.json
  • material.tres
  • pixel_ore_rock.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
art_pixels, chunks, ore, nuggets, cracks, relief, hue_shift, saturation and 1 more
Presets
default, iron_ore, diamond_gems, copper_patina
Tileable
yes
Command line
python pixel_ore_rock.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

Stylized pixel art with the light from the top left baked into the chunk edges and nugget sprites; it is not a geological model, and ore colours are artistic. Chunks are Voronoi cells and nuggets are four or five-pixel sprites, so a 16-pixel grid shows two-by-two nuggets only. Gems are smooth dielectrics and metal ores fully metallic, with nothing in between. 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.