Character Mesh Skinning for Animation
Skinning is where a rig transforms from technical blueprint into working animation tool. You can assemble an excellent bone hierarchy and get unacceptable results at the deformation stage: fabric strips at shoulders, twisted wrists, stomach folds during bend. All this is weight painting problem and fixed manually.
Where Automatic Skinning Breaks
Automatic Weights in Blender—convenient start, not final result. The algorithm works through Heat Diffusion: each bone "heats" nearby vertices proportionally to distance. On open mesh areas this works acceptably. Problems start in four zones:
Armpit. Shoulder and torso vertices are geometrically close to both bones—shoulder and spine. Auto weights spread across three-four bones, and when arm raises above 90° tissue under armpit deforms unreadably. Fixed through clean shoulder bone weight in delta zone and zero spine weights on outer part of shoulder.
Wrist in pronation/supination. If rig lacks separate Twist-bone for forearm, wrist rotation transfers directly to Forearm-bone—and mesh "twists" like cloth. Solution: add intermediate Forearm_Twist bone with weight 0.5 in mid-forearm, distributing deformation along limb length.
Knee joint. Auto weights give too soft transition between thigh and shin, and knee when bending "pinches". Need to manually limit each bone's influence zone to roughly 40% segment length, not 60% that Automatic Weights outputs.
Fingers. On hands with detailed mesh (>500 vertices per hand) auto weights inevitably give cross-contamination—one finger's weight affects adjacent finger. During grab animation fingers stick together. Only manual fix with Vertex Group Isolation.
Weight Painting in Blender: Not Brush, But Surgery
Practical workflow: after Automatic Weights—pose mode, bend each joint at 90°, look at deformation. Fix problems. Return to weight paint mode.
Key brush settings that change everything: Blur for smoothing influence zone edges, Gradient for linear distribution along bone (better than auto weights in most cases), Subtract for precise removal of stray weights. Maximum bones per vertex in Unity—4 (standard) or 8 (extended mode, more expensive on GPU). Blender by default is unlimited—need to explicitly normalize through Limit Total with Max Influences = 4.
Maya workflow differs: Smooth Skin Binding with Closest in Hierarchy option gives cleaner initial result for humanoid. Paint Skin Weights Tool with Flood to 0 for cleanup, then manual addition. Hammering—quick fix through Component Editor with direct value input. Convenient for point fixing vertices at joints.
Normalization and Export
Final step before export: all weights normalized (sum = 1.0 on each vertex), influence count limited, vertices without weights absent. In Blender this is checked through Mesh > Vertices > Select All by Trait > Without a Group—if something selected, skinning is incomplete.
FBX export with parameter Deformer → Skin is mandatory. In Unity on import: Rig → Animation Type → Humanoid, then Avatar Configuration → Auto Map. If skeleton named per Mixamo/Unity standard—mapping passes without errors. If custom names—manual mapping needed, taking extra time.
Check in engine: connect any Humanoid animation clip, run Preview in Animator. Deformation during walk and run—main test. Arms during swing—additional. Elbow and knee bending—minimal stress test for joint weights.
Timeline and Work Volume
Skinning takes on average same time as rigging—sometimes longer if mesh is detailed or there are complex zones.
| Task Scale | Estimated Duration |
|---|---|
| Simple character without fingers | 3 to 6 hours |
| Full humanoid with fingers | 1 to 1.5 days |
| Character with clothes (separate meshes) | 2 to 3 days |
| Creature with non-standard anatomy | 2 to 4 days |
Cost determined after mesh assessment: vertex count, presence of separate clothing meshes and gear, maximum influence count requirements and target platform.





