Skin Tab
Complete guide to Skinning, Advanced Weights, and Smart Weight Transfer. Panel location: View3D → Sidebar → Easy Rigify. For Blender 4.2+.
1. Skinning
The Skinning panel handles the full binding workflow: detecting your meshes, choosing a bind method, and running Smart Bind. It's the first step before any weight painting or cleanup.
1.1 Mesh Setup
Detect Character Meshes — scans the scene for all mesh objects and adds them to the list below. Run this once after placing your character in the scene. Re-run it whenever you add or remove a mesh.
Each row in the mesh list shows:
- Checkbox — tick on to include this mesh in the next Smart Bind, tick off to skip it. Useful when re-binding just one piece.
- Object Name — the Blender object name. A checkmark icon means the mesh already has an Armature modifier (already bound); a dot icon means it's unbound.
- Mesh Type [dropdown] — choose the correct type so the right bones are used:
- Body — your main character body/head mesh. All deform bones are used. Use for torso, arms, legs, and any mesh that needs the full treatment.
- Clothing — shirts, trousers, jackets, hair, accessories. Treated the same as Body but facial bones are excluded.
- Eyes — eyeball mesh. Only eye and master_eye bones are kept; all other groups are stripped after binding.
- Teeth — teeth/gum mesh. Only teeth/tooth bones are kept.
- Tongue — tongue mesh. Only tongue bones are kept.
1.2 Smart Bind
Bind Method [dropdown] — how Blender calculates the initial weights. Choose before pressing Smart Bind.
- Automatic Weight — Blender's built-in heat diffusion (ARMATURE_AUTO). Fast, good for most standard characters. No post-processing — weights come out exactly as Blender produces them. Best for quick tests, simple characters, or when you plan to paint everything manually afterward.
- Envelope — uses bone envelope volumes instead of heat diffusion. Much faster on high vertex count meshes but less precise. Use when Automatic Weight fails with a "failed to find solution" error (usually caused by interior geometry or non-manifold topology).
- Heat Map (the full pipeline) — runs Blender's Automatic Weight first, then passes the result through a multi-stage post-processing pipeline. Face bones are fully protected: their weights are snapshotted before any tightening runs. Use for final character binding, when you want clean joint transitions out of the box, or when you want to minimize manual weight painting.
Max Influences [slider, 1–8, default 4] — the maximum number of bones that can influence each vertex.
- 4 — standard for game characters and real-time rendering (recommended)
- 8 — higher quality deformation for film/VFX, larger file size
- 1 — each vertex follows exactly one bone; creates hard seams, almost never useful for organic characters
This limit is applied at the end of every bind. It's also used by the Normalize and Limit buttons in the Cleanup section.
Preserve Volume [checkbox] — enables Dual Quaternion blending on the Armature modifier instead of linear skinning. Prevents the "candy-wrapper" twisting artifact at elbows and wrists when a limb rotates. Turn on for most character animations, especially arms. Turn off for game export (many engines handle blending themselves), or when you see unexpected volume inflation at joints.
Split Parts [checkbox] — separates the mesh into disconnected islands, binds each independently, then rejoins them. Use for split teeth (upper and lower as one object), multi-part meshes (e.g. a shirt that is two separate shells sharing one object), or any mesh where some parts fail to get weights from ARMATURE_AUTO. Leave off for solid single-piece meshes — it adds processing time.
Weight Options (Heat Map only)
Smooth [int slider, 1–20] × Smooth Factor [0.0–1.0] — controls the Laplacian smoothing pass that runs after joint tightening.
- Smooth (iterations) — how many passes of neighbour-averaging to run. 1–2 = very light, mostly removes spike artefacts. 3–5 = standard, good gradient between bones (default 3). 8+ = heavy, can over-blur finger weights.
- Smooth Factor — how much each vertex blends toward the average of its neighbours per pass. 0.1 = very subtle. 0.3 = standard (default). 0.7+ = aggressive — only use with 1–2 iterations or you'll lose detail.
Optimize High Res [checkbox] — for meshes with more than ~30,000 vertices, the pipeline first binds a 10% decimated proxy of the mesh, transfers the weights back to the original, then runs the pipeline stages. Makes binding fast even on 100k+ meshes. Turn on when binding takes many minutes and your mesh has over 30k vertices. Leave off for normal characters to preserve maximum precision.
Joint Tightening
The Surgical Tightening system uses a cylinder around each bone to decide which vertices are "inside" the bone's zone and which are bleeding. Vertices outside the cylinder that are NOT the dominant bone at that spot get their weight reduced by the feather multiplier.
Presets [Default / Gentle / Aggressive] — apply a preset set of feather values to all sections at once.
- Default — moderate cleanup (bleeding reduced to ~35–50%). Good starting point for most characters.
- Gentle — light cleanup (bleeding kept at ~65–75%). Use when ARMATURE_AUTO is already clean and you just want minor polish.
- Aggressive — heavy cleanup (bleeding reduced to ~5–25%). Use when your character has very close-together limbs and a lot of unwanted cross-bleeding.
Each section row (Fingers / Forearms / Upper Arms / Shins / Thighs / Shoulders / Spine / Neck) has two controls:
- Enable toggle — ON means tightening runs for this bone group; OFF leaves it exactly as ARMATURE_AUTO produced it. Spine and Neck are OFF by default because spine bleeding to the upper arm is intentional (it creates the smooth gradient at the torso) — the smooth stage handles spine quality instead.
- Feather [slider 0.1–2.0] — controls how aggressively bleeding is reduced outside the bone cylinder.
- 2.0 = no change at all (same as turning the section off)
- 1.5 = very gentle — bleeding weight kept at ~75%
- 1.0 = moderate — bleeding weight kept at ~50%
- 0.5 = strong — bleeding weight kept at ~25%
- 0.1 = maximum — bleeding weight kept at ~5%
The feather also controls a gradient ring just outside the cylinder edge — a smooth blend from 1.0 → feather is applied there, so you never get a hard cut-line at the cylinder boundary.
| Section | Recommended Feather | Why |
|---|---|---|
| Fingers | 0.7 | fingers are thin; moderate tightening |
| Forearms | 0.8 | elbow area needs some bleed to look natural |
| Upper Arms | 1.0 | shoulder blend is intentional, leave mostly alone |
| Shins | 0.8 | knee area similar to elbow |
| Thighs | 1.0 | hip blend is intentional |
| Shoulders | 1.2 | very gentle, mostly just removes cross-body bleed |
| Spine | OFF | let smooth handle the spine gradient |
| Neck | OFF | let smooth handle the neck gradient |
Smart Bind / Unbind
Smart Bind [large button] — runs the selected bind method on all enabled meshes. After completion, a status line appears below the button showing how many meshes were bound, and whether any fell back to Envelope or failed.
Unbind — removes the Armature modifier and all vertex groups from the currently active mesh object. Does not affect other meshes. Use before re-binding a single mesh.
2. Advanced Weights
Advanced Weights covers everything you need after the initial bind: weight painting workflow helpers, post-bind cleanup, symmetry tools, joint cleaning, smart smoothing, and weight visualization.
2.1 Weight Paint
Enter Weight Paint — enters Weight Paint mode on the active mesh with the rig correctly linked. Unlike Blender's default weight paint entry, this button shows DEF bones automatically so you can click them to change groups, sets up the rig in Pose mode alongside the mesh, highlights zero-weight vertices so unweighted areas are visible, and saves the previous DEF bone visibility so it can be restored on exit.
How to use:
- Select your character mesh in the viewport
- Click Enter Weight Paint
- Click any bone on the rig to switch to painting that vertex group
- Paint as normal
Exit Weight Paint — exits Weight Paint mode and restores DEF bone visibility to whatever state it was in before you entered.
Show / Hide DEF Bones [toggle] — toggles visibility of the DEF bone layer on the Rigify rig. DEF bones are the actual deform bones (prefixed DEF-). Useful to quickly check which bones are present without entering Weight Paint.
2.2 Cleanup Weights
Full Cleanup — runs all four cleanup operations in one click:
- Remove Zero — strips weights below 0.001
- Limit — enforces Max Influences (from the Skinning panel)
- Normalize — makes all bone weights at each vertex sum to 1.0
- Smooth — runs a gentle Laplacian smooth
Run after manual weight painting to tidy everything up. Safe to run multiple times.
Normalize — divides each vertex's weights so they sum exactly to 1.0. Does not remove any bones or change which bones influence a vertex — just rescales the values. Use when you've painted weights that look correct visually but the mesh deforms with unexpected volume changes.
Limit — removes the lowest-weight bones from any vertex that has more influences than Max Influences, keeping only the strongest ones, then renormalizes. Use when you need to match a game engine bone limit, or when Full Cleanup produced vertices with too many small influences.
Remove Zero — deletes any vertex group entry where the weight is below 0.001. Does not renormalize — run Normalize afterward if needed. Use when vertex groups have accumulated many near-zero garbage values from painting operations.
Smooth [Factor slider 0.0–1.0 × Passes int 1–5, Apply button] — a targeted Laplacian smooth that protects face, finger, forearm, and palm bones from being smoothed (they need precise weights). All other bones are blended toward their neighbors. Factor is blend strength per pass (0.3 = standard, 0.7 = heavy); Passes is number of iterations (1 = very subtle, 3–5 = noticeable). Use when you see sharp weight borders between bones after painting that cause visible hard-edge creases during animation.
Advanced Cleanup
Threshold [float 0.001–0.100] + Prune — zeros out every bone weight below the threshold on the active mesh, then renormalizes. 0.010 = standard (removes negligible influences). 0.050 = more aggressive, good for game characters with strict bone limits. 0.001 = minimal, only removes truly zero values.
Max Weight [slider 0.10–1.0] + Clamp — caps the weight of the currently active vertex group so no vertex has more than Max Weight for that bone. The excess weight is redistributed proportionally to the other bones at that vertex. 0.80 = standard cap (bone can be at most 80% dominant). 0.60 = forces more blending with neighbours. 1.0 = effectively disables clamping. Use when a single bone looks too rigid or "sticky" — parts of the mesh follow it 100% when they should be blending with adjacent bones.
How to use: in Weight Paint, select the bone group you want to cap, go back to Object mode (or stay in Weight Paint — both work), set Max Weight, click Clamp.
Remove Unused Groups — deletes every vertex group where all vertices have zero weight. This happens after binding when the rig has bones that are far from the mesh and get no heat diffusion. Always safe to run.
Unweighted Verts — selects all vertices that have no bone influence at all (total weight = 0.0). Switches to Edit Mode so you can see which vertices are unweighted. Use when you have dark patches in Weight Paint that are unexplained, or after Prune removes too much and leaves some vertices empty.
Mirror / Symmetry
Sym L→R — copies all vertex weights from the left side of the mesh (+X) to the right side (-X). Bone names are automatically flipped (.L → .R). Vertices are matched by mirroring their X position. Use after painting the left side to completion.
Sym R→L — same, in reverse direction.
Joint Cleaner
Fix Bleeding — runs the automated joint bleeding fixer. Analyses each DEF bone's weight distribution and reduces weights that have spread too far from the bone's actual geometry zone. Uses per-bone-type radius multipliers: spine/shoulders = light (allows intentional cross-body blend); upper arm/thigh = moderate; forearm/shin = moderate-tight; fingers = tight (small bones, bleeding is more visible).
Analyze — prints a per-bone bleeding report to the System Console without making any changes. Shows which bones are bleeding and by how much. Use before Fix Bleeding to understand what the fixer will do.
Manual Clean — Light / Moderate / Aggressive — manual cleaning presets for when you want direct control. Select the mesh, make sure you're in Object mode, then click the desired strength. Light removes only obvious long-range bleeding; Moderate is balanced, similar to Fix Bleeding auto mode; Aggressive is tight cleanup, may remove some intentional blending at joints.
Smooth Twist Weights — applies a targeted smooth specifically to twist bone pairs (the .001 limb bones: DEF-upper_arm.L.001, DEF-forearm.L.001, DEF-thigh.L.001, etc.). Smooths the gradient between the main bone and its twist partner. Use when you see a visible stripe or hard line on the upper arm or thigh during arm/leg twisting animations.
2.3 Smart Smoothing
Smooth Weights — runs the Smart Smoother, a topology-aware Laplacian smooth that can optionally respect mesh boundaries, UV seams, and material boundaries. Unlike the simple smooth in Cleanup, this one follows the actual edge flow of the mesh, so gradients look more natural.
When you click the button a popup dialog appears with:
- Process — type of operation (set to Smart Smooth for this button)
- Bone Group — leave empty to smooth all bones, or type a specific vertex group name to smooth only that bone
- Smooth Iterations [1–20, default 5] — number of smoothing passes. 5 is a good default.
- Smooth Factor [0.0–1.0, default 0.5] — blend strength per pass. 0.5 is stronger than the cleanup smooth's 0.3.
- Edge Flow Weight [0.0–1.0, default 0.7] — controls how much the smooth follows the mesh's existing weight gradients. 1.0 = full edge-flow: flows strongly along edges where the weight changes the most, producing directional gradients that follow anatomy. 0.0 = uniform: all edges treated equally, same as a plain Laplacian smooth. 0.7 = recommended default: mostly follows edge flow with some uniform averaging to prevent artefacts.
3. Smart Weight Transfer
Smart Weight Transfer copies vertex group weights from one mesh to another. This is used when you have one well-painted mesh (the source) and want to apply its weights to a related mesh (the target) without binding from scratch.
Common use cases: transferring body weights onto a shirt or jacket; updating a revised mesh version with weights from the old version; copying weights from a decimated/proxy mesh to the final high-res mesh.
How to use
- Select all objects involved in the transfer
- Make the SOURCE mesh the active object (last selected, highlighted)
- Choose your settings below
- Click Smart Weight Transfer (single target) or Batch Transfer (all selected non-active meshes at once)
3.1 Settings
Transfer Method [dropdown] — the algorithm used to look up which source vertices to copy from.
- Nearest Vertex — for each target vertex, finds the closest source vertex (or the N closest, blended by distance) and copies its weights. Best for meshes very similar in shape (e.g. original mesh → revised mesh), skin-tight clothing, fast general-purpose transfers. Not ideal for clothing that sits far from the body surface (thick jackets, puffy coats).
- Surface Projection — projects each target vertex along its surface normal, finds nearby source vertices within the Search Radius, and blends their weights weighted by how well the source vertex's position aligns with the target vertex's normal direction. Best for clothing that sits slightly above the body surface, accessories (belts, straps, armor pieces), or any mesh where the topology differs significantly from the source. Requires tuning Search Radius for each situation.
- Volume Sampling — for each target vertex, casts multiple samples along the vertex normal at different depths (from -depth to +depth) and blends the results. Captures weights from both the outer surface and slightly below it. Best for thick clothing (coats, armour), meshes that partially envelop the source, or situations where nearest-vertex gives patchy results.
Nearest Samples [int 1–10] (Nearest Vertex only) — how many nearby source vertices are considered and blended per target vertex. 1 = copies exactly from the single nearest vertex — fast, but can give sharp weight borders if the source mesh topology is coarse. 3–5 = blends from the 3–5 nearest, weighting closer ones more heavily; produces smoother results on mismatched topology. 10 = maximum blending — very smooth but slower. For meshes with similar topology, 1 is fine; for mismatched meshes use 3–5.
Search Radius [float 0.001–10.0, default 0.1] (Surface Projection only) — the radius (in scene units, usually metres) within which source vertices are searched for each target vertex. 0.05 = very tight, only vertices almost directly on the surface. 0.10 = standard (default), good for most body-to-clothing transfers. 0.30 = wide, good for thick jackets or armour that sits far from the body. 1.0+ = use only if geometry is very spread out.
Volume Samples [int 2–20, default 5] (Volume Sampling only) — how many depth samples to take along the vertex normal. 2 = only the endpoints of the depth range (faster). 5 = standard, good balance of quality and speed. 10+ = high quality, slower.
Max Influences [int 0–32, default 4] — limits how many bones can influence each target vertex after transfer. 0 = unlimited (keep all bones the source had). Set to match your character's game/render requirements — 4 is the standard game character limit.
3.2 Buttons
Smart Weight Transfer — transfers weights from the active (source) mesh to ONE other selected mesh. If multiple meshes are selected, only the first non-active one receives weights.
Batch Weight Transfer — transfers weights from the active (source) mesh to ALL other selected meshes in a single operation. Each target receives its own independent transfer. Use this to re-bind multiple clothing pieces at once after updating the body.
3.3 Tips for Best Results
- The source mesh should have clean, fully normalized weights before transferring.
- Make sure both source and target are at the same scale and orientation in world space. The transfer uses world-space positions, so a source mesh at 0.01 scale will give wrong results.
- After transfer, run Normalize + Limit on the target to ensure weights sum to 1.0 and respect the influence limit.
- For a perfect skin-tight shirt: bind the body first with Heat Map, then use Nearest Vertex (1 sample) to copy body weights to the shirt — much faster than re-running the weight paint.
Quick Reference — Recommended Workflow
First-time binding
- Place markers → Align Rig → Generate Rig (using the main Easy Rigify tabs)
- Open Skinning panel → Detect Character Meshes
- Assign mesh types (Body, Eyes, Teeth, Tongue, Clothing)
- Set Bind Method to Heat Map
- In Weight Options: Smooth 3 × 0.3, leave Optimize High Res OFF unless needed
- In Joint Tightening: apply Default preset
- Click Smart Bind
- Open Advanced Weights → Cleanup Weights → Full Cleanup
Fixing specific problems
| Problem | Solution |
|---|---|
| Arm bleeds into torso/spine | Increase Upper Arms feather toward 0.5–0.8 |
| Elbow looks pinched | Lower Forearms feather to 0.6, or add Fan Bones |
| Knee looks pinched | Lower Shins feather to 0.6, or add Fan Bones |
| Sharp weight border crease | Run Smart Smoothing (edge flow weight 0.7) |
| Finger weights on palm | Fingers feather 0.5 or lower |
| Face bones not deforming | Confirm rig has face (With Face option in Rig tab); re-bind with Heat Map |
| Clothing mismatched weights | Smart Weight Transfer (Nearest, 3 samples) |
| Unweighted vertices | Advanced Weights → Unweighted Verts, then paint manually |
| Too many influences for game | Reduce Max Influences to 4, run Limit + Normalize |