โ† All examples

procedural textures

Cracked lake ice with bubbles and skate scratches

Generate tileable maps of frozen lake ice: clear black or milky ice with white fracture planes, a polygonal crack network, trapped air bubbles, stacked methane bubbles and skate scratches. Use for frozen lakes, rinks, ice caves and winter ground.

Recorded render of Cracked lake ice with bubbles and skate scratches

What this component contains

  • ATTRIBUTION.md
  • LICENSE
  • README.md
  • blender_material.py
  • component.json
  • lake_ice_cracked.py
  • material.tres
  • 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
fractures, network, plates, bubbles, pancakes, scratches, milkiness, hue_shift and 2 more
Presets
default, methane_bubbles, skating_rink, pressure_cracked
Tileable
yes
Command line
python lake_ice_cracked.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

Cracks and bubbles inside the ice are painted into the albedo, not modelled in depth, so there is no parallax or refraction through clear ice; a shader that wants depth can use the albedo as a view-independent layer under a glossy surface. Fracture planes are a bright line with a fainter offset sheet, a stylized reading of slanted cracks. The crack network is a Worley diagram broken by noise. Bubbles smaller than about half a pixel at the output size are left out. Occlusion is a blurred-height estimate.