跳到正文
cccskills
免费在 GitHub 公开

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.

中文简介正在准备中。当前显示原文说明。

集成工具Blender

实测评分 未实测

查看安装方法

包含的文件(3)

  • SKILL.md5.5 KB
  • scripts/_bpyx.py4.4 KB
  • scripts/apply_stack.py4.8 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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).

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Write Blender 5.2 add-ons as extensions - blender_manifest.toml, operators/panels/menus/property groups/preferences, bpy.props rules after 5.0, undo/redo, modal and timer patterns, gpu drawing (no bgl), bundling Python wheels, CLI validate/build/install, testing headless, extensions platform publishing. Use when creating or fixing a Blender add-on, tool, or UI.

中文简介正在准备中。当前显示原文说明。

EL4CTEO/blender-skills4562026年10月20日 更新

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.

中文简介正在准备中。当前显示原文说明。

EL4CTEO/blender-skills4562026年10月20日 更新

Mandatory review gate for any mesh or asset created or edited in Blender. Detects z-fighting (coplanar overlaps), floating/detached parts, inverted or inconsistent normals, non-manifold/open geometry, degenerate faces, duplicate verts, n-gons, unapplied scale, UV problems, bad skin weights, and renders multi-angle review sheets. Use before calling any modeling, export or delivery task done.

中文简介正在准备中。当前显示原文说明。

EL4CTEO/blender-skills4562026年10月20日 更新

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.

中文简介正在准备中。当前显示原文说明。

EL4CTEO/blender-skills4562026年10月20日 更新

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.

中文简介正在准备中。当前显示原文说明。

EL4CTEO/blender-skills4562026年10月20日 更新

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.

中文简介正在准备中。当前显示原文说明。

EL4CTEO/blender-skills4562026年10月20日 更新

查看 EL4CTEO 的全部技能

报告此技能的问题