โ† All examples

blender tools

Terrain material blending by slope and height

Build a landscape node material that puts rock on slopes steeper than a set angle, snow above a ragged world-height line but only where the ground is flat enough, and grass elsewhere, all in world space. Use it on terrains, mountains and dioramas.

Recorded render of Terrain material blending by slope and height

What this component contains

  • ATTRIBUTION.md
  • LICENSE
  • README.md
  • component.json
  • graphcheck.py
  • material_terrain_slope_height.py
  • meshcheck.py
  • preview.png
  • test_material_terrain_slope_height.py
  • test_package.py
  • verification/native.json

How it works

Operator
baltor.material_terrain_slope_height
Parameters
material_name, grass_color, rock_color, snow_color, rock_slope, slope_blend, snow_height, snow_blend and 3 more
Result
One material with a node tree; assigned to the active object.
Blender
4.2 or later
Axes
Blender Z up, -Y forward
Units
metres

Recorded checks

blender 5.2.1 LTS (hash 9e2066aef7ef built 2026-08-25 02:12:34)

  • addon_install_and_enable
  • operator_runs_with_defaults
  • blender_data_matches_core
  • addon_disable_unregisters
  • script_mode_runs
  • clean_reopen_addon_file
  • clean_reopen_script_file
  • gltf_separate_export
  • engine_output_clean

Limits to consider

Three flat colours with roughness only; no texture detail per layer, no displacement and no erosion or flow information. World space inputs mean the blend changes when the object is rotated, by design. Shading normals from smooth shading soften the slope test on coarse meshes. Rendered here with Cycles CPU only. Verified in Blender 5.2.1; written for the 4.2 API.