What this component contains
ATTRIBUTION.mdLICENSEREADME.mdblender_material.pycomponent.jsonmaterial.trespixel_sand_dunes.pypngio.pypreview.pngtest_package.pytexkit.pyverification/native.json
How it works
- Entry point
- generate
- Maps
- albedo, normal, roughness, height, ao
- Parameters
- art_pixels, dunes, dune_shading, ripple_spacing, ripple_slant, ripples, shells, pebbles and 4 more
- Presets
- default, desert_dunes, white_coral, black_sand
- Tileable
- yes
- Command line
- python pixel_sand_dunes.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_mapsmaps_decodemaps_have_declared_size_and_channelsmaps_tile_without_a_seamnormal_vectors_unit_length_facing_outmaps_carry_detailgodot_imports_the_mapsgodot_material_template_loads_every_mapgodot_compatibility_rendercapture_shows_the_textured_surfaceblender_builds_the_material
Limits to consider
Stylized pixel art with the light from the top left baked into the shading; dunes and ripples are periodic waves bent by noise, not a wind or sediment model. Ripple frequencies are whole numbers across and down the tile so the pattern repeats exactly, which limits slants to whole steps. Shells and pebbles are tiny fixed sprites. 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.