Agent Skills › EL4CTEO/blender-skills › blender-environment-kits

blender-environment-kits

GitHub

提供Blender地形生成、植被散射及模块化资产检查的自动化脚本,支持高度图/散点图导出至UE/Unity,用于快速构建游戏场景环境。

skills/blender-environment-kits/SKILL.md EL4CTEO/blender-skills

Trigger Scenarios

需要生成游戏地形或景观 批量散布植被或岩石等环境物体 验证模块化资产网格规范

Install

npx skills add EL4CTEO/blender-skills --skill blender-environment-kits -g -y
More Options

Use without installing

npx skills use EL4CTEO/blender-skills@blender-environment-kits

指定 Agent (Claude Code)

npx skills add EL4CTEO/blender-skills --skill blender-environment-kits -a claude-code -g -y

安装 repo 全部 skill

npx skills add EL4CTEO/blender-skills --all -g -y

预览 repo 内 skill

npx skills add EL4CTEO/blender-skills --list

SKILL.md

Frontmatter
{
    "name": "blender-environment-kits",
    "license": "MIT",
    "metadata": {
        "author": "blender-agent-skills",
        "version": "1.2.0"
    },
    "description": "Game environments in Blender 5.3 - terrain from noise or heightmaps (erosion, terraces, play areas, slope\/height materials, 16-bit heightmaps + splat maps for UE\/Unity), biome scatter by slope\/height\/mask with Poisson spacing, modular kit metrics and validation (grid, pivots, seams, texel density). Use for levels, landscapes, forests, modular buildings, dungeons."
}

Environment kits

The execution model is in blender-core. Custom GN tools are in blender-geometry-nodes, materials in blender-texturing (trims, vertex blends), and mood/weather in blender-time-of-day/blender-weather-fx.

One call each

scripts/terrain.py -- --size 400 --res 513 --height 60 --type ridged --erosion 30 --flatten 0 0 40 --material
scripts/terrain.py -- --heightmap //hm.png --size 1000 --res 1009 --height 120 --export-splat //T_Splat.png
scripts/scatter.py -- --target Terrain --collection Trees --density 0.02 --min-distance 5 --max-slope 25 --height-max 45
scripts/scatter.py -- --target Terrain --collection Rocks --density 0.05 --max-slope 70 --align 0.8 --name ENV_Rocks
scripts/kit_check.py -- --objects SM_Wall_4m SM_Floor_4m SM_Door_4m --grid 0.5 --fix

Terrain (terrain.py)

  • Grid of --res² verts over --size m. Use 2^n + 1 for Unity (513/1025/2049, .raw 16-bit LE) and UE Landscape's recommended sizes (505/1009/2017/4033, 16-bit PNG). Above 1025, tile it.
  • --type fbm (rolling), ridged (mountains), hills (hetero terrain). --scale = feature size m. --erosion N = thermal erosion steps (talus 33°): slopes relax and debris fills valleys. --terrace m = stepped flats. --flatten X Y R = a level play/build area blended back with a smoothstep.
  • Writes ENV_Slope (deg/90) and ENV_Height (0–1) point attributes. --material builds grass/rock/snow from them: rock above 35°, snow above 75% height on slopes below ~40°, with noise-broken edges.
  • Engines: --export-heightmap (PNG = 16-bit gray, .raw = 16-bit little-endian, row 0 = −Y edge; flip vertically in Unity if mirrored) plus heightmap_z_scale_m for the import Z scale. --export-splat = 16-bit RGBA weights (R grass, G rock, B snow, sum 1) for terrain layers. Both are written Raw (no display transform): measured round-trip error < 0.001.

Scatter (scatter.py)

  • One GN modifier per layer: Poisson disk (--density per m² max, --min-distance m), kept where the interpolated surface normal is within --max-slope and Z is inside --height-min/max (object space). --mask = vertex group or float attribute as density factor (paint it, or use ENV_Height).
  • Collection children are instanced at their own origins with random yaw, --scale range, and --align (0 = upright trees, 0.6–1 = rocks hugging the slope). The source collection is excluded from the view layer.
  • The result checks every instance against the real surface (slope_max_deg, height_range) and counts per source. Instances stay instances. --realize only when an exporter or boolean needs real mesh.
  • Densities: forest trees 0.01–0.05/m² (min distance 4–8 m), bushes 0.05–0.2, rocks 0.01–0.1, grass clumps 2–20/m² (near camera only). Layer big → small: trees, then bushes masked away from trunks, then grass.
  • Engines: glTF export_gpu_instances=True (EXT_mesh_gpu_instancing), or --export-points file.json (world transforms, Z-up m, wxyz quats) for UE foliage/PCG or Unity instancing scripts. FBX needs realized geometry or one object per instance.

Modular kits (kit_check.py)

  • Metrics first: pick a grid (0.5 m snap, 1/2/4 m modules) and keep it everywhere. Walls 3–4 m tall interior (player ~1.8 m eye 1.6 m, doors ≥ 1 × 2.2 m), floors 4 × 4 m, stairs 0.18 m rise / 0.28 m run. UE works in cm (×100 on import), Unity in m.
  • Pivot convention (--pivot corner default, bottom-center, center) so pieces snap by increments. Footprint lengths are multiples of the grid. Thinner-than-a-cell dims (wall thickness, trims) may be off-grid.
  • Open edges only on the piece's outer faces (seams); holes inside are errors. Seam verts must be on the grid so neighbours weld visually. Texel density within 25% of the kit median (--texture px). SM_ names (--prefix).
  • --fix applies rotation/scale and moves each origin to the pivot without moving geometry. Linked duplicates share mesh data, so fix the source once.
  • Break repetition with trims and decals (blender-texturing), vertex-color blends, and rotated/mirrored variants (mirrors flip normals, so check with blender-asset-qa). Hide seams with trim pieces over joints.

Gotchas

  • Apply terrain/kit scale before scattering. Densities and slopes are world-based.
  • Scatter height is in the target's object space. Keep terrains at the origin or offset --height-*.
  • Huge Poisson counts are slow. Scatter per tile/area, or lower the density in the viewport and raise it for renders.
  • Validate terrain + scatter with blender-asset-qa (floating instances on cliffs, z-fighting decals) and blender-game-optimization (instances, LODs, draw calls).

Version History

  • b1b21df Current 2026-11-15 13:19

Same Skill Collection

skills/blender-addon-development/SKILL.md
skills/blender-animation/SKILL.md
skills/blender-asset-qa/SKILL.md
skills/blender-character-rigging/SKILL.md
skills/blender-clothing/SKILL.md
skills/blender-core/SKILL.md
skills/blender-export-pipelines/SKILL.md
skills/blender-facial-shapekeys/SKILL.md
skills/blender-game-optimization/SKILL.md
skills/blender-geometry-nodes/SKILL.md
skills/blender-hair-grooming/SKILL.md
skills/blender-hardsurface-modeling/SKILL.md
skills/blender-lighting-lookdev/SKILL.md
skills/blender-pbr-materials/SKILL.md
skills/blender-pipeline-automation/SKILL.md
skills/blender-rendering/SKILL.md
skills/blender-retopology-uv/SKILL.md
skills/blender-scene-setup/SKILL.md
skills/blender-sculpting/SKILL.md
skills/blender-simulation/SKILL.md
skills/blender-stylized-npr/SKILL.md
skills/blender-texture-baking/SKILL.md
skills/blender-texturing/SKILL.md
skills/blender-time-of-day/SKILL.md
skills/blender-video-editing/SKILL.md
skills/blender-weather-fx/SKILL.md
skills/blender-workflow-recipes/SKILL.md

Metadata

Files
0
Version
b1b21df
Hash
11dbeb81
Indexed
2026-11-15 13:19

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.156.0. UTC+08:00, 2026-11-15 13:54
浙ICP备14020137号-1