โ† All examples

procedural textures

Pixel-art sky with puffy outlined clouds

Generate a pixel-art sky tile that repeats both ways at a chosen art resolution: a flat sky with faint dithered patches, cumulus clouds of round puffs on a flat base, lit from the top left with an optional outline, and stars at night, plus per-pixel normal, height, roughness and occlusion maps. For 2D backgrounds.

Recorded render of Pixel-art sky with puffy outlined clouds

What this component contains

  • ATTRIBUTION.md
  • LICENSE
  • README.md
  • blender_material.py
  • component.json
  • material.tres
  • pixel_cloud_sky.py
  • pngio.py
  • preview.png
  • test_package.py
  • texkit.py
  • verification/native.json

How it works

Entry point
generate
Maps
albedo, normal, roughness, height, ao
Parameters
art_pixels, clouds, cloud_width, puffiness, outline, stars, relief, hue_shift and 2 more
Presets
default, sunset, night, storm
Tileable
yes
Command line
python pixel_cloud_sky.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

A still frame of stylized pixel art, not a cloud simulation; for parallax motion, scroll the tile. The sky has no vertical gradient, because a gradient would not repeat vertically. Clouds are unions of circles with a flat base, painted from the top of the tile down, and the light from the top left is baked into their tones. Height and roughness only matter for lit 2D or 3D use. 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.