Skinning and Weight Painting for Game Models
Skinning is the process of assigning bone influence to each mesh vertex. More precise the weight distribution, more natural the deformation during animation. No algorithm replaces manual correction in critical zones: joints, clothing folds, neck area—all require attention and understanding of how living form deforms.
Automatic Weights as Starting Point, Not Finish
Automatic Weights in Blender uses Heat Diffusion algorithm—each vertex gets weight proportional to thermal influence of nearest bones. Result acceptable on 60–70% of mesh. Remainder—joints, edges, geometry intersection zones—requires manual correction.
In Maya Smooth Bind with Closest in Hierarchy gives slightly cleaner starting result for anatomically correct meshes. But on non-standard geometry (creatures, mechanisms)—same story.
First thing after Automatic Weights: pose mode test for each joint. Bend elbow at 90°, knee at 90°, raise shoulder, turn neck. Fix all problems before manual correction starts—fixing one problem at a time faster than accumulating several.
Critical Zones: Where Auto Weights Always Break
Shoulder. Between Shoulder-bone and Spine/Chest—zone where armpit geometry belongs to both. Auto weights spread across 3–4 bones, and when arm raises above 90° tissue under armpit deforms unreadably. Need: inner shoulder vertices—only UpperArm, torso vertices in armpit zone—only Chest. Transition—sharp line, not smooth gradient.
Wrist and Pronation. Wrist rotation transfers through Forearm-bone. Without Twist-bone forearm mesh "twists" like rope. With Twist-bone: half of forearm weight redistributes to Twist, gradient from 0 (elbow) to 0.5 (mid) to 0 (wrist). Gives smooth untwisting along length.
Knee. Error: too large blend zone between UpperLeg and LowerLeg. At 90° bend "pinching" occurs—skin on front knee loses volume. Solution: hard separation along joint axis. Vertices above—only UpperLeg, below—only LowerLeg. At joint itself—equal weight (0.5/0.5) only for 2–3 edge loops directly at bend.
Neck. Problem opposite—too hard separation. Vertices behind neck should smoothly transition from Spine2 to Neck with small Chest contribution, otherwise tilting head back gives geometry "tear" at back.
Weight Painting Tools and Techniques
In Blender Weight Paint mode is primary. Important nuances:
Normalize All before finalization: each vertex must have total weight 1.0. Without normalization vertices with weight 0.3 + 0.3 = 0.6 give incomplete bone influence and mesh "sags".
Limit Total with Max Influences = 4: standard for Unity. GPU skinning with 4 bones per vertex—optimal quality/performance balance. Mobile sometimes reduced to 2–3.
Smooth brush with low Strength values (0.3–0.5)—for smoothing influence zone edges. Don't use on joints, only on smooth transitions.
Vertex Group Lock—prevents accidental changes when working on adjacent zones. Maya equivalent—Lock Influence through Paint Skin Weights Tool → Lock.
Maya Component Editor gives direct numerical access to weights of selected vertices—indispensable for point fixes. Select problem vertices in Vertex Mode, open Component Editor, find needed Joint-columns, enter values manually.
Weights for Clothes and Separate Meshes
Character with separate clothing meshes requires skinning each mesh independently. Principle: clothing mirrors body skinning but adjusted for fabric. Shirt on torso—same bones as torso but with reduced end-joint influence (hands don't affect sleeve at shoulder). Cape adds cape-specific bones with secondary dynamics.
Transfer Weights in Blender (Data Transfer Modifier)—quick weight transfer from body to clothes. Works correctly if meshes roughly match. After transfer—manual correction at clothing edges where geometry diverges from body.
Final Check Before Export
Checklist:
- Each vertex total weight = 1.0 (Normalize All)
- Maximum 4 influences per vertex (Limit Total)
- No vertices without weights (Select → All by Trait → Without a Group)
- Test poses: T-Pose, A-Pose, 90° bend of all joints, extreme combat poses
Timeline
| Mesh | Estimated Duration |
|---|---|
| Simple NPC without fingers | 3 to 6 hours |
| Full humanoid with fingers | 1 to 2 days |
| Character with clothes (3–5 separate meshes) | 2 to 3 days |
| Creature with non-standard anatomy | 2 to 4 days |
Cost determined after mesh inspection, separate object count and platform maximum influence requirements.





