blender-environment-pipeline
Skill105 starsChanged 8 months agoMITView on GitHub
Build a level environment procedurally in Blender (live through the BlenderMCP add-on), organised in gameplay layers, optimised and exported for engine assembly.
In this repository117 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .codex/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- .cursor/rules/00-project-context.mdcCursor rule
- .cursor/rules/01-engine-isolation.mdcCursor rule
- .cursor/rules/02-workflow.mdcCursor rule
- .cursor/rules/03-doc-sync.mdcCursor rule
- .cursor/rules/README.mdCursor rule
- 2d-animation-pipelineSkill
- 3d-animation-pipelineSkill
- 3d-asset-pipelineSkill
- ai-asset-generationSkill
- art-bibleSkill
- audio-implementationSkill
- cinematic-pipelineSkill
- dialogue-content-pipelineSkill
- generated-raster-asset-pipelineSkill
- lighting-lod-pipelineSkill
- localization-pipelineSkill
- materials-shading-pipelineSkill
- placeholder-asset-pipelineSkill
- rigging-skinning-pipelineSkill
- sprite-pipelineSkill
- technical-art-pipelineSkill
- tilemap-pipelineSkill
- ui-animation-pipelineSkill
- ui-asset-pipelineSkill
- vfx-pipelineSkill
- accessibility-designSkill
- combat-designSkill
- core-loop-designSkill
- economy-balancingSkill
- game-feel-designSkill
- level-designSkill
- liveops-designSkill
- monetization-designSkill
- narrative-designSkill
- onboarding-tutorial-designSkill
- procgen-designSkill
- progression-designSkill
- quest-designSkill
- ai-behavior-patternsSkill
- animation-state-patternsSkill
- asset-managementSkill
- build-pipeline-patternsSkill
- event-bus-patternsSkill
- gameplay-architectureSkill
- input-abstractionSkill
- memory-budgetingSkill
- multiplayer-netcode-patternsSkill
- performance-budgetingSkill
- physics-gameplay-patternsSkill
- save-system-patternsSkill
- telemetry-instrumentationSkill
- tools-pipeline-patternsSkill
- ui-hud-patternsSkill
- godot-3d-scenesSkill
- godot-build-releaseSkill
- godot-csharp-patternsSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 31
Put interiors in their own collection, and the camera-facing wall of any enterable building in a cutaway collection.
- Very specific: line 84
Keep the build scripts in the game project (e.g.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Blender Environment Pipeline
Purpose
Build a level environment procedurally in Blender (live through the BlenderMCP add-on), organised in gameplay layers, optimised, visually verified against its reference, and exported for engine assembly. The result is reproducible from a script, not from a hand-edited .blend.
Use When
- a level or set piece must be built in 3D from 2D art, concept images or owner photos
- an environment needs realistic surfacing (Poly Haven CC0 textures/HDRIs) without a full modelling team
- a previous environment needs a reproducible rebuild after design feedback
Inputs
- reference images for every visible area (exterior, interiors, signage); ask for any that are missing
- camera and genre (e.g. side-scrolling beat'em up with a fixed side view), walkable area, travel direction
- gameplay contract: breakable props, doors and gates, finish area, decal slots
- polygon/texture budgets per layer (from the TDD or
/perf-budget) - the setting's culture, era and materials (what the place is actually built from)
Process
- Connect. Blender with the BlenderMCP add-on server started (N panel → BlenderMCP, Poly Haven enabled, port 9876). If the harness
blenderMCP server cannot be installed (e.g. the network blocksfiles.pythonhosted.org), drive the add-on directly withscripts/blender-bridge.py(info,run <script.py>,cmd <type> <json>). It needs only the standard library. - Plan the layers before modelling.
- A, playable: real 3D with collisions and walkable surfaces.
- B, midground: low-cost meshes or cards at real depth.
- C, backdrop: a rendered matte card for distant content, with alpha so the engine sky shows through. Put interiors in their own collection, and the camera-facing wall of any enterable building in a cutaway collection. Make each destructible a separate object.
- Lay out for gameplay. Entrances and stairs face the player's arrival and land on the walkable surface. Pillars and furniture leave the combat space readable. Size everything in real metres.
- Write the build script. One
build_scene.py(plus focused modules, e.g.dojo.py) that clears and rebuilds everything: helpers for boxes, cylinders and foliage; world-space or per-face UVs; collections. Build in final world coordinates: avoid build-then-rotate hacks that hide unbuilt faces. - Surface it truthfully. Pick Poly Haven textures for the real materials of the setting (download them in the session first). For colour variation that must survive export, use 3-step discrete material sets assigned per mesh island, not node graphs. Use per-slope UVs for roofs, per-face triplanar UVs for boards and planks, and real-scale tiling.
- Make geometry clean and solid. Triangle fans instead of large n-gons (solidify turns n-gons into self-intersecting polygons). Give props thickness and closed bases. Merge static meshes per material to keep draw calls low.
- Optimise while authoring. Mesh detail only near the camera (e.g. the first rows of a forest); move the rest into the layer C render. Use fewer, larger foliage cards. Report polygon counts per collection after every build and compare them with the budget.
- Verify visually after every step. Render from the gameplay camera, a close-up of each set piece and an interior cutaway, and compare with the reference. Fix before reporting. Known traps: EEVEE world volumes can black out the frame; untextured materials render white.
- Export. One FBX per collection (
apply_scale_options=FBX_SCALE_UNITS,axis_forward=-Z,axis_up=Y,bake_space_transform=True). Recentre destructible pivots to their base before exporting. Save the textures used next to the exports, because add-on images are packed and FBXpath_mode=COPYdoes not copy them. Render the backdrop card withfilm_transparent. - Decals and signs. Generate them as textures: derive from the owner's reference photo when given (paint = darker than its local background, keeping stroke texture and drips), and render text with a font that has the required glyphs (e.g. Yu Gothic for kanji).
- Commit the scripts, exports (via LFS), reference renders and decals, one step per commit. Record the layer contract for the engine skill.
Outputs
build_scene.py(+ modules),export_*.py,save_textures.py, decal scripts- one FBX per collection, textures, transparent backdrop render, decal textures
- reference renders (gameplay camera, close-ups, interior cutaway)
- layer contract: collection names, destructible objects, walkable meshes, cutaway wall, decal slots, polygon counts
Quality Bar
- the scene rebuilds from scripts with one command, and exports import with zero per-asset fixes
- materials and construction match the setting (no anachronistic or foreign materials)
- the layout respects the camera and genre: reachable entrances, readable combat space, nothing busy behind fighters
- polygon budgets met per layer; every destructible is a separate object with a base pivot; no n-gons on props
- reviewed against the reference from the gameplay camera before handing over
Common Failure Modes
- inventing materials or details the reference contradicts (brick or slate in a timber building)
- one texture mapped across a whole multi-plane object (roof tiles running the wrong way on some slopes)
- layout that ignores the camera: entrances facing the camera in a side-scroller, pillars blocking the doorway
- rotating a finished building into place and exposing faces that were never built
- procedural shader variation that disappears on FBX export
- a dense mesh forest everywhere instead of a near band plus a rendered backdrop
- reporting without rendering: issues found by the owner that one review render would have shown
Related Agents
- 3d-environment-artist
- technical-artist
- level-designer
- performance-reviewer
Related Commands
- environment-build
- art-3d-pass
- perf-budget
Related Skills
- 3d-asset-pipeline
- materials-shading-pipeline
- lighting-lod-pipeline
- generated-raster-asset-pipeline
- unity-environment-assembly
Notes
- Engine-neutral authoring. Engine import and scene assembly are covered by the engine skill (
unity-environment-assemblyfor Unity). - Keep the build scripts in the game project (e.g.
Tools/Blender/<level>/) so environments evolve with the code that uses them. - Poly Haven assets are CC0; record which ones a level uses in the build script docstring.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

