โ† All examples

procedural textures

Brushed metal in five alloys

Generate tileable PBR maps of brushed metal: fine directional micro-grooves at two scales, a few deeper scratches and faint smudges, on stainless steel, aluminium, brass, copper or titanium. Use for appliances, panels, trims, watches and props.

Recorded render of Brushed metal in five alloys

What this component contains

  • ATTRIBUTION.md
  • LICENSE
  • README.md
  • blender_material.py
  • brushed_metal.py
  • component.json
  • material.tres
  • 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
streak_density, streak_depth, waviness, scratches, roughness_base, smudges, banding, hue_shift and 2 more
Presets
default, aluminium, brass, copper, titanium_satin
Tileable
yes
Command line
python brushed_metal.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

Brushing runs across the tile width only; rotate the UVs for other directions. The grooves live in the normal and roughness maps, which carry no anisotropy direction, so the stretched highlight of real brushed metal needs an anisotropic shader on top. Metal colours are approximate reflectances. Occlusion is a blurred-height estimate, not ray traced.