MCPInstall

blender-hardsurface-modeling

Hard-surface and prop modeling in Blender 5.2 - blockout-to-detail flow, non-destructive modifier stacks (Mirror, Boolean Exact/Manifold, Bevel, Weighted Normal, Smooth by Angle), mid-poly vs subdivision vs high-to-low workflows, shading/custom normals, cylinder segment budgets, edge attributes from Python. Use for weapons, vehicles, props, architecture, mechanical parts.

Installs
93
Last 24h
+11
Trending rank
#8163
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/el4cteo/blender-skills --skill blender-hardsurface-modeling
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads blender-hardsurface-modeling automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Hard-Surface Modeling

The execution model is in blender-core. Run blender-asset-qa after every modeling pass.

Pick the workflow first

WorkflowWhenOutput
Mid-poly (bevel + weighted normals, no bake)modern games, props seen up close, fast iterationgame mesh directly; tiling materials/trim sheets
High → low (high via booleans+bevel or subd, low baked)hero assets, unique textures, tight tri budgets_high + _low → blender-texture-baking
Subdivision (support loops/creases + Subsurf)renders, product viz, filmsmooth surfaces, edges held by loops/creases

Procedure

  1. Blockout at real scale (ob.dimensions) from primitives. Settle the silhouette and proportions before any detail. Check against references.
  2. Apply scale (transform_apply(scale=True)) before bevels, booleans or solidify, because modifier distances use object space.
  3. Primary → secondary → tertiary forms. Booleans for cuts and panels, then bevels. Small tertiary details go in normal maps/decals, or into the high-poly as "floaters" for baking.
  4. UV the base mesh now (mid-poly). Bevel/Boolean modifiers propagate UVs, but after bevels no edge is sharp enough to auto-seam. Then build the stack with scripts/apply_stack.py -- --objects Body --preset midpoly --cutters Cut1 Cut2. Order: Mirror → Booleans → Bevel → Weighted Normal → (Triangulate at export).
  5. Shading check: smooth shading + Weighted Normal (keep sharp). There must be no gradients across flat faces. View with a matcap or look in solid shading.
  6. QA with blender-asset-qa, then apply the stack only on an export copy (--apply), keeping the editable source.

Stack rules

  • Booleans: put cutters in a Cutters collection with display WIRE and hide_render=True. Solver: EXACT (robust default), MANIFOLD (much faster, but inputs must be closed manifold), FLOAT (legacy fast, fragile with coplanar faces). With many cutters, use operand_type="COLLECTION".
  • Avoid coplanar boolean faces: extend cutters slightly past the surface. They also cause z-fighting.
  • Bevel: limit_method="ANGLE" (30°), or "WEIGHT" with a bevel_weight_edge attribute for hand-picked edges. Turn on use_clamp_overlap, harden_normals=True, miter_outer="MITER_ARC". Width ≈ 0.5–2% of the part's size, kept consistent across the asset.
  • Weighted Normal after Bevel: mode="FACE_AREA", keep_sharp=True, weight 50. Needs smooth faces (remove the sharp_face attribute or call shade_smooth).
  • Smooth by Angle (4.1+, replaces auto smooth): bpy.ops.object.shade_auto_smooth(angle=rad) adds a GN modifier, or shade_smooth_by_angle sets sharp_edge destructively.
  • Mirror: use_clip=True, use_mirror_merge=True. Model one half only at x ≥ 0.
  • Subdivision: hold edges with support loops (a loop 1–5% of the face width from the edge) or crease_edge (0–1). Turn on use_limit_surface. Don't use creases if the asset goes to an engine.
  • Triangulate only for export/baking (keep_custom_normals=True, BEAUTY). Triangulating the bake mesh and the export mesh identically keeps normal maps synced.

Topology rules

  • N-gons: fine on flat, non-deforming faces in mid-poly/game meshes. Never use them on curved surfaces or anything that subdivides or deforms.
  • Poles (5+ edges) should sit on flat areas, never on a curvature peak or bevel.
  • Cylinder segments by on-screen size: small (bolts) 6–8, medium (handles) 12–16, large (barrels) 24–32, hero/close-up 48+. Use multiples of 4 or 8 so booleans/mirrors line up with existing loops.
  • No long, thin triangles across visible curved areas (shading and LOD artifacts).
  • Panel lines: inset + extrude in (mid-poly) or a boolean groove on the high-poly, then bake.
  • Spend density where the silhouette needs it, not on flat faces.

Edge/face attributes from Python (4.0+ names)

me = ob.data
bw = me.attributes.get("bevel_weight_edge") or me.attributes.new("bevel_weight_edge", "FLOAT", "EDGE")
cr = me.attributes.get("crease_edge") or me.attributes.new("crease_edge", "FLOAT", "EDGE")
sh = me.attributes.get("sharp_edge") or me.attributes.new("sharp_edge", "BOOLEAN", "EDGE")
bw.data[edge_index].value = 1.0; sh.data[edge_index].value = True
me.edges[edge_index].use_seam = True          # seams are still an edge property

Select sharp edges by angle in bmesh: e.calc_face_angle(0) > math.radians(30).

Gotchas

  • A bevel that looks blobby or flips usually means unapplied/non-uniform scale or overlapping geometry (turn on clamp).
  • A Boolean that returns nothing or garbage: the cutter isn't closed/manifold (Exact copes, Manifold fails), or its normals are inverted.
  • Weighted Normal has no effect: faces are flat-shaded, or an earlier modifier destroyed the custom normals.
  • 5.2: the GN Mesh Bevel node exists for procedural bevels inside node trees (blender-geometry-nodes).
  • Trim-sheet/mid-poly assets: UVs go to the trim strips (blender-retopology-uv) and materials tile (blender-pbr-materials).

FAQ

What does the blender-hardsurface-modeling skill do?

Hard-surface and prop modeling in Blender 5.2 - blockout-to-detail flow, non-destructive modifier stacks (Mirror, Boolean Exact/Manifold, Bevel, Weighted Normal, Smooth by Angle), mid-poly vs subdivision vs high-to-low workflows, shading/custom normals, cylinder segment budgets, edge attributes from Python. Use for weapons, vehicles, props, architecture, mechanical parts.

How do I install blender-hardsurface-modeling?

Run npx skills add https://github.com/el4cteo/blender-skills --skill blender-hardsurface-modeling in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/blender-hardsurface-modeling/ (personal) or .claude/skills/blender-hardsurface-modeling/ (project).

Which AI agents can use blender-hardsurface-modeling?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is blender-hardsurface-modeling safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains blender-hardsurface-modeling?

It is published by el4cteo in el4cteo/blender-skills. It has 93 recorded installs.

More from el4cteo/blender-skills

View all →

blender-core

el4cteo/blender-skills

Foundation for any Blender 5.2+ task an agent drives - running bpy via MCP (live) or headless CLI, context overrides, locale-safe node lookup, enum discovery, 5.x API changes, verification. Use first for any Blender, bpy, .blend or 3D-asset request; routes to the specialized blender- skills.

Backend & APIs124 installs

blender-asset-qa

el4cteo/blender-skills

Open the skill to read its SKILL.md instructions.

Testing & QA110 installs

blender-animation

el4cteo/blender-skills

Animation in Blender 5.2 - slotted/layered actions and the channelbag API, Python keyframing, F-curves, game loops, NLA clips, pose library, mocap/BVH retargeting via constraints, baking control rigs to export skeletons, root motion, per-clip export. Use for any keyframe, action, NLA, mocap, or animation-export task.

Frontend & Design102 installs

blender-export-pipelines

el4cteo/blender-skills

Export from Blender 5.2 with verified presets - Roblox (FBX/glTF, cages, R15, SurfaceAppearance), Unity (FBX, Humanoid), Unreal (FBX skeletal, Nanite, UCX), Godot/web (GLB, meshopt/Draco, WebP), USD. Scale/axes, smoothing, tangents, leaf bones, clips, batch export, post-export verification. Use whenever an asset leaves Blender.

100 installs

blender-character-rigging

el4cteo/blender-skills

Character rigging in Blender 5.2 - Rigify metarig fit/generate, bone naming/roll/collections, DEF/MCH/control layers, IK/FK, robust skinning (heat + proxy fallback), weight-painting rules, correctives, engine game skeletons (Unity, Unreal, Roblox R15), rig validation and deformation stress tests. Use for armature, skinning or weights tasks.

Testing & QA96 installs

blender-pbr-materials

el4cteo/blender-skills

Physically based materials in Blender 5.2 - metal/roughness rules, Principled BSDF inputs, color spaces (sRGB vs Non-Color), measured albedo/F0 values, texture-set auto-wiring, ORM channel packing, DirectX vs OpenGL normals, alpha modes, displacement, view transforms (AgX, Khronos PBR Neutral), engine-ready material rules. Use when creating, fixing, or exporting materials and textures.

94 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.