# Blender Hardsurface Modeling

Hard-surface and prop modeling in Blender 5.2 - blockout-to-detail flow...

- Repository: https://github.com/EL4CTEO/blender-skills (651 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add EL4CTEO/blender-skills --skill blender-hardsurface-modeling -g -a claude-code -y`
Codex: `npx skills add EL4CTEO/blender-skills --skill blender-hardsurface-modeling -g -a codex -y`
Cursor: `npx skills add EL4CTEO/blender-skills --skill blender-hardsurface-modeling -g -a cursor -y`
Gemini CLI: `npx skills add EL4CTEO/blender-skills --skill blender-hardsurface-modeling -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add EL4CTEO/blender-skills`

## Description

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.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Hard-Surface Modeling

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

## Pick the workflow first
| Workflow | When | Output |
|---|---|---|
| **Mid-poly** (bevel + weighted normals, no bake) | modern games, props seen up close, fast iteration | game 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, film | smooth 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.

The rest: https://github.com/EL4CTEO/blender-skills/blob/HEAD/skills/blender-hardsurface-modeling/SKILL.md
