โ† All examples

procedural textures

Pixel-art sci-fi hull panels with glowing lights

Generate a tileable pixel-art sci-fi plating module at a chosen art resolution: panels split into plates with seams and bevels, each with rivets, vent slits, a grille, a light strip, indicator lamps or hazard stripes, with metallic, emissive, normal, height, roughness and occlusion maps. Use for 2D space stations.

Recorded render of Pixel-art sci-fi hull panels with glowing lights

What this component contains

  • ATTRIBUTION.md
  • LICENSE
  • README.md
  • blender_material.py
  • component.json
  • material.tres
  • pixel_scifi_panel.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, emissive
Parameters
art_pixels, panels, subdivision, lights, vents, hazard, rivets, relief and 3 more
Presets
default, clean_lab, rusty_industrial, alien_hull
Tileable
yes
Command line
python pixel_scifi_panel.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 plate bevels. The module repeats on a regular panel grid aligned with the tile edges, which suits modular plating but shows the grid on large areas. Plates are rectangles split at most twice; details are fixed small patterns, and lights do not animate. Metal and glass take fixed roughness values per class. 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.