Weight painting and skinning are foundational steps in the character animation pipeline. Without properly assigned skin weights, even the best skeleton rig will produce ugly deformations when a character moves. Whether you are preparing a game character or a cinematic hero, understanding how to bind a mesh to a skeleton and paint clean weights is essential for professional results.
What Is Skinning?
Skinning is the process of binding a 3D mesh to a skeleton (also called a rig or armature). Each vertex of the mesh is assigned influence values that determine which bones control its movement. When a bone rotates or translates, the vertices bound to it follow along, deforming the mesh to simulate realistic body movement. The quality of that deformation depends entirely on how accurately the skin weights are painted.
This skinning guide covers the full workflow from initial bone placement through to final weight map refinement — the same principles apply whether you are working in Blender, Maya, or any other 3D application that supports envelope-based deformation.
Automatic vs. Manual Weight Painting
Most 3D applications offer automatic weight assignment as a starting point. Maya uses heat map-based binding, Blender provides automatic weights via its Armature modifier, and 3ds Max offers envelope-based skinning. These automatic methods get you roughly 70-80% of the way there, but manual refinement is almost always necessary for production-quality results.
Manual weight painting gives you direct control over every vertex. You literally paint influence values onto the mesh surface, typically using a brush tool with adjustable radius, opacity, and falloff. The process is tedious but critical. Shoulders, hips, elbows, and knees are the areas that almost always need manual attention because they involve complex joint articulation that automatic algorithms struggle to solve correctly.
Heat Map Weight Visualization
Weight values are visualized using a color gradient, commonly called a heat map. Blue represents zero influence (the vertex is not affected by the selected bone), red represents full influence (the vertex moves entirely with the bone), and the spectrum of green, yellow, and orange represents partial influence values in between. This visual feedback is indispensable for identifying problem areas and ensuring smooth transitions between bone influences.
Weight Painting Tools Across Applications
Maya
Maya provides the Paint Skin Weights tool with operations like Replace, Add, Smooth, and Scale. The Component Editor offers numeric precision for exact weight values. Maya also supports interactive skin binding and geodesic voxel binding for improved automatic results on complex meshes.
3ds Max
3ds Max uses the Skin modifier with envelope-based weight assignment. Weight painting is done through the Paint Weights dialog, and the Weight Table provides spreadsheet-style numeric editing. The envelope system allows visual adjustment of bone influence zones before painting begins.
Blender
Blender uses vertex groups tied to an Armature modifier. Weight painting mode provides brush-based painting with Add, Subtract, Mix, Blur, and other blend modes. Blender also offers a Normalize All function to ensure weights sum to 1.0 across all influences per vertex, which is essential for correct deformation.
Common Weight Painting Problems
Candy Wrapper Effect
The candy wrapper effect occurs at twist joints (typically forearms and shins) where the mesh collapses and twists in on itself like a candy wrapper. This happens because a single bone cannot represent twist distribution along its length. The solution is to add twist bones (roll bones) that distribute the rotation across multiple joints, or to use corrective blend shapes.
Joint Collapse
When a joint bends to an extreme angle, vertices near the joint can collapse inward, causing the mesh to lose volume and look crushed. This is solved by tightening weight falloff near the joint, adding helper bones, or applying corrective blend shapes that push geometry outward at extreme angles.
Volume Loss
Standard linear blend skinning (LBS) tends to lose volume at bent joints because it interpolates vertex positions linearly. Dual quaternion skinning preserves volume much better at the cost of some bulging artifacts. Many studios use a blend of both methods to get the best of each approach.
Max Influences Per Vertex
Each vertex can be influenced by multiple bones, but more influences mean higher computational cost. For mobile games, 2-4 influences per vertex is standard. For console and PC games, 4-8 influences are common. Film and cinematic work may use unlimited influences since real-time performance is not a constraint. Limiting influences forces cleaner weight painting and often produces better results even when performance is not a concern.
Smooth vs. Rigid Skinning
Smooth skinning (also called soft skinning) allows vertices to be influenced by multiple bones with blended weights. This is the standard for organic characters. Rigid skinning assigns each vertex to exactly one bone with no blending. Rigid skinning is useful for mechanical objects, hard-surface models, or stylized characters where clean, sharp deformation is desired.
Dual Quaternion Skinning
Dual quaternion skinning (DQS) is an alternative to linear blend skinning that better preserves mesh volume during deformation. Where LBS causes volume loss at bent joints, DQS maintains volume but can introduce slight bulging. Many productions blend between LBS and DQS per-vertex, using DQS at joints that bend significantly and LBS everywhere else. Unreal Engine and Unity both support DQS.
Weight Mirroring for Symmetrical Characters
For symmetrical characters, you only need to paint weights on one side. All major 3D applications support weight mirroring across an axis (typically X). Paint the left side, mirror to the right, then make minor adjustments. This saves enormous time and ensures visual consistency. Name your joints with L/R or Left/Right suffixes so the mirror function can match them correctly.
Weight Painting for Clothing and Accessories
Clothing, armor, and accessories that follow body movement need their own skin weights. These are typically bound to the same skeleton as the body mesh. Loose clothing may need additional bones or a cloth simulation system. For game characters, baking cloth simulation to bone animation or blend shapes is common for performance reasons. Accessories like belts, pouches, and holsters should be rigidly bound to the nearest body bone.
Baking Skin Weights for Performance
In game production, skin weights are often simplified or baked before export. This involves reducing the number of influences per vertex, normalizing all weights, and removing negligible weight values (below a threshold like 0.01). This cleanup reduces GPU skinning cost and prevents visual artifacts from tiny stray weights.
Testing Weights with Motion Capture Data
The best way to stress-test your skin weights is to apply motion capture animation to your rig. MoCap data covers a huge range of natural human motion, including extreme joint angles that you might not think to test manually. Running a walk cycle, combat sequence, or athletic movement through your rig will immediately reveal problem areas. MoCap animation packs are invaluable for this testing phase, providing diverse motion data that pushes every joint to its limits.
Export Considerations for Game Engines
When exporting skinned meshes to game engines like Unreal Engine or Unity, ensure your weights are normalized (sum to 1.0 per vertex), influence counts are within the engine's limits, and bone names match the expected naming convention. FBX is the standard interchange format for skinned meshes. Always test the exported mesh in-engine to verify that deformation matches what you see in your DCC application.
Frequently Asked Questions
How many bone influences should I use per vertex for a game character?
For most modern game characters, 4 influences per vertex is the sweet spot between quality and performance. Mobile games may use 2-3, while high-end console titles sometimes allow up to 8. More influences do not always mean better results. Clean weight painting with 4 influences often looks better than sloppy painting with 8.
Should I use dual quaternion skinning or linear blend skinning?
Use a blend of both when possible. Linear blend skinning works well for areas with minimal bending, while dual quaternion skinning preserves volume better at joints that bend significantly like shoulders and hips. If your engine only supports one method, linear blend skinning with corrective blend shapes is the most common approach.
How do I fix weight painting on a character that is already animated?
You can edit skin weights at any time without losing your animation data. Pose the character in the problem position, paint weight corrections, then verify across other poses. In Maya, you can lock and unlock weights on specific bones to prevent changes from propagating. Always test your fixes across the full range of animation, not just the single frame where you noticed the issue.
Can I transfer skin weights between different meshes?
Yes. All major 3D applications support weight transfer between meshes. This is extremely useful when updating a character model without re-painting all weights from scratch. Maya uses Copy Skin Weights, Blender has Transfer Weights, and 3ds Max uses Skin Utilities. The source and target meshes do not need identical topology, but closer topology produces better results.
Advanced Weight Painting Workflows for Game Characters
Professional weight painting workflows begin with automatic weight generation and progressively refine problem areas rather than painting every vertex manually from scratch. All major 3D applications include automatic skinning algorithms that produce acceptable starting weights for simple body regions like forearms, shins, and the torso. The automatic pass handles eighty percent of vertices correctly, leaving the artist to focus manual effort on the twenty percent that require attention: joint deformation zones at elbows, knees, shoulders, and the spine.
Mirror-mode weight painting halves the work for symmetrical characters. Painting weights on the left arm automatically generates identical weights on the right arm, ensuring perfectly symmetrical deformation. However, mirror mode should be disabled for the final polish pass because subtle asymmetries in character models often require slightly different weight distributions on each side. A character whose left shoulder sits slightly higher than the right due to a pose asymmetry in the model needs compensating weight adjustments that mirror mode would overwrite.
Geodesic voxel binding produces superior automatic weights compared to linear distance-based methods. Traditional heat map skinning calculates bone influence based on straight-line distance from each vertex to each bone. This works poorly for complex geometry where a vertex on the outer thigh may be geometrically close to the opposite leg's bone despite being on the wrong side of the body. Geodesic methods calculate distance along the mesh surface, correctly recognizing that the outer thigh vertex is far from the opposite leg when measured through the mesh rather than through empty space. This surface-aware calculation eliminates most cross-influence artifacts that plague linear binding.
Corrective blend shapes supplement weight painting for deformation that skinning alone cannot achieve. The elbow joint is the classic example: no weight painting distribution can prevent the inner elbow mesh from collapsing when the arm bends past ninety degrees. A corrective blend shape that activates at high elbow flexion angles adds volume to the inner elbow, maintaining the appearance of muscle compression. Professional character rigs typically include ten to twenty corrective shapes at major joints, each driven by the joint's rotation angle through a simple mathematical relationship.
Weight painting for clothing and armor layers introduces additional complexity because clothing vertices must follow the body skeleton while maintaining a consistent offset from the skin surface. Naive weight painting that exactly matches the body weights produces cloth that penetrates through the skin during extreme poses. The solution is either a cloth simulation layer that maintains surface offset dynamically, or offset-aware weight painting where clothing vertices receive slightly modified influence zones that account for the garment's thickness. For game characters with static clothing meshes, the offset approach is more performance-friendly.
Testing weight painting quality requires a systematic motion test that exercises every joint through its full range. The industry standard test animation takes about sixty seconds and cycles each joint from minimum to maximum rotation: spine flexion and extension, shoulder circles, elbow bend, wrist rotation, hip flexion, knee bend, ankle rotation, and head turns. Recording this test animation once and applying it to every character as a quality gate ensures that weight painting issues are caught during the rigging phase rather than after production animations have been applied.
Vertex groups in Blender and skin clusters in Maya serve the same fundamental purpose but use different workflow paradigms that affect weight painting efficiency. Blender's weight paint mode displays weights as a color gradient directly on the mesh surface, with red indicating full influence and blue indicating zero influence. Maya's component editor displays weights as numerical tables, allowing precise multi-bone weight distribution per vertex through direct number entry. Understanding both paradigms is valuable because many animation teams use Maya for rigging and Blender for final adjustments, requiring artists to translate their weight painting intuition between the two representation systems. The key insight is that both tools produce identical FBX export data despite their different visual presentations, so skills learned in either application transfer directly to the other with only a brief interface adaptation period.
Weight normalization ensures that the total influence of all bones on each vertex sums to exactly one. Without normalization, vertices can receive more than one hundred percent total influence, causing them to move farther than any individual bone during animation playback. Most DCCs enforce normalization automatically, redistributing excess weight proportionally across all influencing bones when the artist increases weight on one bone. However, automatic redistribution can produce unexpected results when a vertex is influenced by many bones at small percentages, as the redistribution spreads the adjustment across all influences rather than concentrating it on the intended neighboring bones. Locking bone influences that should not change before painting adjacent bones prevents this redistribution artifact and gives the artist full control over the final weight distribution.
