
blender-facial-shapekeys
Facial rigs and shape keys in Blender 5.2 - ARKit 52 blendshapes, visemes for lip-sync, sculpting expressions, splitting symmetric shapes into Left/Right, mirroring, corrective and combination shapes, drivers and control rigs, bone+blendshape hybrids, export to engines (Unity, Unreal, Roblox dynamic heads, VRM/web). Use for faces, expressions, lip-sync, or any shape-key work.
- Installs
- 80
- Last 24h
- +10
- Trending rank
- #8539
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/el4cteo/blender-skills --skill blender-facial-shapekeys- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads blender-facial-shapekeys automatically when relevant.
- 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.
Facial Rig & Shape Keys
The execution model is in blender-core. The body rig is in blender-character-rigging.
Choose the approach
| Approach | Use | Notes |
|---|---|---|
| Blendshapes (ARKit 52) | games, VTubers, mocap (iPhone/Live Link Face), web/VRM | the industry interchange set; each shape is sculpted |
| Bones (jaw, eyes, lids, brows, lips) | stylized, low memory, mobile | jaw + eyes as bones are almost always right |
| Hybrid | most production game heads | jaw/eye/tongue bones + blendshapes for everything soft |
Rigify face (human metarig) | film-style keyframe animation inside Blender | 100+ face bones, heavy for engines |
Procedure (blendshapes)
- The head mesh needs clean loops around the eyes and mouth (
blender-retopology-uv), with eyes, teeth and tongue as separate objects parented or weighted to bones. scripts/shapekeys.py -- --mesh Head --create arkit(or--create visemesfor the 15 Oculus visemes) creates empty, correctly named keys.- Sculpt each key (live: sculpt mode on the active key,
use_shape_key_edit_mode). Symmetric expressions can be sculpted once, then--split eyeBlinkgiveseyeBlinkLeft/Rightwith a soft blend across X=0 (--falloffm). --mirror browDownLeftbuildsbrowDownRight(topology-independent mirror).--reportlists unsculpted keys, the max offset per key, and missing ARKit names. A shape is done only when every key moves and nothing is left over.- Optional:
--drivers FaceCtrladds a controller with 0–1 custom properties driving each key, for keyframing in Blender. - Check the extremes and combinations (jawOpen + mouthSmile, eyeBlink + eyeSquint) with
look. Fix them with corrective combination keys driven by the product of two keys.
Shape key rules
- Shapes are deltas from Basis. Never change the Basis topology after creating keys (adding or removing verts destroys every key).
- One action per key. No head or neck movement inside face keys (bones do that). Keep eyelids sliding over the eye surface, not through it (check with
blender-asset-qazfighting on lid/eye). - Range 0–1.
slider_maxcan be raised for exaggeration, but engines clamp to 0–1. - Relative keys (
use_relative=True, the default) are the only kind that exports. - Name exactly per spec (case-sensitive):
eyeBlinkLeft, notEyeBlink_L. Engines map by name. - Keys on meshes with Subdivision: sculpt at level 0, and keep the subdivision modifier after the shape keys (they're evaluated first anyway).
- Applying modifiers on a mesh with shape keys fails. Use
modifier_apply_as_shapekeyfor deform modifiers, or apply them before creating keys.
Correctives and combination shapes
- Corrective for a bone pose: sculpt in the posed state, then drive with a
TRANSFORMSvariable (ROT_X,LOCAL_SPACE, mapped to 0–1). - Combination: key
jawOpen_mouthSmilewith driverSCRIPTEDexpressiona*b, from the two key values (SINGLE_PROPkey_blocks["jawOpen"].value). Simple expressions don't need Python auto-run.
Engine notes
- Unity: FBX blendshapes. In the Model importer, set Blend Shape Normals = Calculate (or Import if smoothing was exported). ARKit names map to the AR Foundation face-tracking samples.
- Unreal: morph targets ("Import Morph Targets"). Live Link Face / MetaHuman Animator use ARKit names, and the Pose Asset maps the curves. No leaf bones.
- Roblox dynamic heads: FACS-based poses with Roblox-specific names, authored as animation frames on a head rig (Creator Hub "Dynamic heads" spec). Build from the official Blender template. ARKit sculpts can be reused by renaming/mapping. Head ≤ 4,000 tris.
- VRM / web (three-vrm, ReadyPlayerMe-style): ARKit 52 + visemes as glTF morph targets (
export_morph=True). Keep the morph-normal export on only if shading needs it (it doubles the size). - Drop unused keys before export. Every key costs memory per vertex (glTF sparse accessors help).
Gotchas
ob.shape_key_add(from_mix=False)copies the Basis.from_mix=Truebakes the current mix (useful for combos, dangerous by accident).shape_key_mirror(use_topology=False)needs a mesh symmetric on X. Run it on the active key (the script handles this).- Driver variables on shape keys use the Key ID (
ob.data.shape_keys), not the mesh:fc = kb.driver_add("value").
FAQ
What does the blender-facial-shapekeys skill do?
Facial rigs and shape keys in Blender 5.2 - ARKit 52 blendshapes, visemes for lip-sync, sculpting expressions, splitting symmetric shapes into Left/Right, mirroring, corrective and combination shapes, drivers and control rigs, bone+blendshape hybrids, export to engines (Unity, Unreal, Roblox dynamic heads, VRM/web). Use for faces, expressions, lip-sync, or any shape-key work.
How do I install blender-facial-shapekeys?
Run npx skills add https://github.com/el4cteo/blender-skills --skill blender-facial-shapekeys 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-facial-shapekeys/ (personal) or .claude/skills/blender-facial-shapekeys/ (project).
Which AI agents can use blender-facial-shapekeys?
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-facial-shapekeys 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-facial-shapekeys?
It is published by el4cteo in el4cteo/blender-skills. It has 80 recorded installs.
More from el4cteo/blender-skills
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.
blender-asset-qa
el4cteo/blender-skills
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.
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.
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.
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.
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.
Popular other skills
hyperframes-cli
heygen-com/hyperframes
The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.
triage
mattpocock/skills
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
ask-matt
mattpocock/skills
Ask which skill or flow fits your situation. A router over the skills in this repo.
to-questionnaire
mattpocock/skills
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
loop-me
mattpocock/skills
Grill me about specs for the workflows I want to build, within this workspace.