Skip to content
alyn
EL4CTEO

Blender Hair Grooming skill

Hair and fur in Blender 5.2 - hair curves on a surface, guides + interpolated children with the bundled hair node assets (clump, curl, noise, droop), density masks, Principled Hair BSDF (melanin), Curves Sculpt combing, 5.2 node Hair Dynamics, game hair cards with a rendered strand atlas, Alembic/USD groom export. Use for hair, fur, beards, eyebrows, grass tufts.

$npx skills add EL4CTEO/blender-skills --skill blender-hair-grooming
View this skill on GitHubEL4CTEO/blender-skills/skills/blender-hair-grooming/SKILL.md
Pack stars
952
Pack installs
9.6k
Alyn Score
60/99
Updated
3 days ago
License
MIT
– views – installs via Alyn

Install Blender Hair Grooming

Pick your agent. Every command is ready to paste.

$npx skills add EL4CTEO/blender-skills --skill blender-hair-grooming

The open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.

01

Install it

Run the command above, or upload the folder in Claude.

02

Ask naturally

Describe the task. Your agent loads blender-hair-grooming when the request matches its description.

03

Name it if needed

If it does not trigger, say “use the blender-hair-grooming skill”. In Codex, type $blender-hair-grooming.

The skill itself

SKILL.md

FolderGitHub

Hair grooming

The execution model is in blender-core. Hair physics details are in blender-simulation, and look-dev in blender-lighting-lookdev.

One call each

scripts/groom.py -- --surface Head --mask Scalp --length 0.15 --children 150000 --clump 0.5
scripts/groom.py -- --surface Head --mask Beard --length 0.02 --droop 0.2 --curl 0.004 --melanin 0.9 --name Beard
scripts/groom.py -- --surface Body --length 0.025 --droop 0.3 --clump 0.3 --name Fur
scripts/groom.py -- --cards Hair --card-count 150 --atlas-res 2048 --out //textures      # game hair cards

How pros groom

  1. Surface first: the scalp is a mesh (or the head itself) with UVs (hair attaches by UV) and a vertex group painted where hair grows. That group becomes the density mask, so soft edges give a natural hairline.
  2. Guides → children: a few hundred to a few thousand guides carry the shape, and thousands of interpolated children give the volume. Style the guides, never the children.
  3. Shape in layers: length, then clump (strands gather into locks), then curl/wave, then frizz/noise, then profile (thin tips). Keep each a separate modifier you can toggle.
  4. Comb by hand for anything hero: Curves Sculpt mode brushes (Comb, Add, Puff, Pinch, Grow/Shrink, Smooth, Slide, Density, Delete, Pull Tips). Procedural droop gives a believable base, not a hairstyle.
  5. Look-dev under the final lights. Hair reads mostly from specular and depth (clumps catch highlights), not albedo.

groom.py

  • Runs 5.2's Add Empty Hair (object.curves_empty_hair_add). It parents to the surface, sets surface/surface_uv_map, adds Capture Rest Geometry to the surface, and adds the node Hair Dynamics modifier (pinned last, experimental). Then it stacks the bundled assets: Generate (--density guides/m²) → Interpolate (--children/m², --viewport fraction in the viewport) → Clump → Curl → Displace + Shrinkwrap (--droop × length down, kept 2 mm above the surface) → Noise → Set Hair Curve Profile (--radius, tip taper).
  • Clump/curl guide distance = 10% of --length. The asset's default 0.1 m collapses a whole head into a few tufts.
  • Each asset stays a modifier with live inputs, so tweak there. Inputs by name: getattr(md.properties.inputs, identifier).value; vertex-group masks use .type = "ATTRIBUTE", .attribute_name.
  • It reports curves, mean length, the max root gap to the surface (must be ~0) and the modifier stacks. Evaluated counts in background mode use the viewport amount.

Numbers

Value
Human scalp ~100–150k hairs, ~200/cm². CG: 30k–150k rendered strands, 300–3000 guides
Strand radius real 0.03–0.05 mm. Use 0.05 mm (--radius 0.00005), thicker with fewer strands
Melanin (Principled Hair, Chiang) black 1.0 · dark brown 0.8 · brown 0.65 · light brown 0.45 · blond 0.25 · platinum 0.1. Red: 0.5 + redness 0.9. Grey: 0 + tint
Roughness 0.25–0.35 (glossy) … 0.5 (dry). Radial roughness 0.3
Fur length 1–5 cm, density 200k–2M/m², little clump
HUANG (4.0+) models elliptical cross-sections and is better for close-ups. CHIANG is the reference default.

Game hair cards (--cards HAIR)

  • Picks --card-count well-spread strands (farthest-point sampling) of the evaluated groom and builds a ribbon along each: --card-width m, tapering to 30% at the tip, lying flat on the surface (side = tangent × surface normal). UV v runs root 0 → tip 1, one atlas column per card (--atlas-columns).
  • Renders the atlas with Cycles from flat strand clumps: T_<name>_BC (darker roots, coverage in alpha, Standard view), plus T_<name>_RootTip and T_<name>_ID (Raw, linear data). The card material uses Dithered alpha with no backface culling.
  • Pros layer cards from the scalp outward: dense, wide, opaque cards on the scalp to hide skin; mid layers; then thin flyaway cards on top. Budgets: hero 20k–60k tris, NPC 5k–15k. Bend cards in S/C shapes, never flat planes, and check from every angle. Engines use alpha test/dither + depth prepass, root-tip for darkening/AO and ID for per-strand variation. Add a tangent (flow) map along V for anisotropic specular.

Export grooms

Strand hair for UE Groom/Houdini: Alembic (wm.alembic_export) or USD (wm.usd_export(export_curves=True)). Both write the evaluated curves (measured: 246/246 curves round-trip). Bake the modifier stack first if the target needs guides only.

Gotchas

  • No UVs on the surface means Generate has nothing to attach to. Add UVs before grooming.
  • Changing the surface topology after grooming breaks attachment. Groom last, or re-run.
  • Scale: apply the head's scale. Lengths and densities are world meters.
  • Viewport: keep --viewport ≤ 0.2 on full heads. Final strand counts only appear in renders.
  • Hair Dynamics simulates on playback. For stills on frame 1 it's a pass-through. Bake it (blender-simulation) before animated renders.

Tips for Blender Hair Grooming

  • • Start a fresh session after installing so your agent picks up the new skill.
  • • This skill ships scripts. Read them before the first run, and run it in a project without secrets first.
  • • It is part of a pack with 28 skills. Install only the ones you need with --skill to keep triggers precise.
  • • If two skills overlap, mention the one you want by name.

Questions about Blender Hair Grooming

What does the Blender Hair Grooming skill do?

Hair and fur in Blender 5.2 - hair curves on a surface, guides + interpolated children with the bundled hair node assets (clump, curl, noise, droop), density masks, Principled Hair BSDF (melanin), Curves Sculpt combing, 5.2 node Hair Dynamics, game hair cards with a rendered strand atlas, Alembic/USD groom export. Use for hair, fur, beards, eyebrows, grass tufts.

How do I install Blender Hair Grooming?

Run "npx skills add EL4CTEO/blender-skills --skill blender-hair-grooming" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.

Does Blender Hair Grooming work in Cursor and Codex?

Yes. Blender Hair Grooming uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.

Is Blender Hair Grooming free?

Blender Hair Grooming is open source on GitHub under the MIT license. It is free to install; check the license before commercial use.

Who made Blender Hair Grooming?

Blender Hair Grooming is published by EL4CTEO in the EL4CTEO/blender-skills repository, together with 27 other skills.

Similar skills. From other creators.