
Blender Geometry Nodes
Geometry Nodes in Blender 5.2 - fields, domains, attributes, instancing, zones...
Install
npx skills add EL4CTEO/blender-skills --skill blender-geometry-nodes -g -a claude-code -y- Repository
- EL4CTEO/blender-skills651
- Category
- Engineering
- Updated
- 5d ago
- License
- MIT
- Context cost
- Lightabout 1,392 tokens
- Runs scripts
- Yes, review before use
What it does
Geometry Nodes in Blender 5.2 - fields, domains, attributes, instancing, zones (simulation/repeat/for-each), closures/bundles, lists, SDF grids, node tools, baking, plus a JSON-to-node-tree builder and socket inspector. Use for scattering, procedural assets/environments, parametric tools and modifier inputs.
Geometry Nodes
The execution model is in blender-core. Build trees with scripts/gn_builder.py, a compact JSON spec that's far cheaper than raw bpy. Look up exact socket names first, because they change between versions:
scripts/gn_builder.py -- --describe GeometryNodeDistributePointsOnFaces GeometryNodeInstanceOnPoints
scripts/gn_builder.py -- --spec scatter.json --apply Ground --set Density=20 Seed=3 Mask=@paint_mask
--set Name=@attr feeds a modifier input from a named attribute. The result reports evaluated vert/face counts and node warnings. The spec format is in the script docstring; full examples are in references/recipes.md.
Core concepts (get these right or nothing works)
- Geometry flows left→right through sockets with circle shapes. Fields (diamond sockets) are functions evaluated per element on the node that consumes them, in that node's domain/context.
- Domains: Point, Edge, Face, Face Corner, Spline, Instance, Layer.
Capture Attributefreezes a field at a point in the graph (before topology changes), andEvaluate on Domainconverts between domains. - Attributes: built-ins (
position,normal,sharp_face,material_index,UVMap...) plus named ones viaStore Named Attribute. Named attributes persist after the modifier. That's how GN data reaches shaders (Attribute node) and exporters (glTFexport_attributes, which exports names starting with_). - Instances are cheap (one mesh, many transforms). Realize Instances only when you must edit per-instance geometry or export a single mesh. Realize as late as possible.
- Inputs exposed on the group interface become modifier inputs (5.2:
mod.properties.inputs.<identifier>.value). Panels group them, menu sockets give enums.
