|Mode:||Edit Mode and Weight Paint Mode|
Blender provides a set of helper tools for Weight Painting. The tools are accessible from the Tool Shelf in Weight Paint Mode. And they are located in the weight tools panel.
The Subset Option¶
Some of the tools also provide a Subset filter to restrict their functionality to only specific vertex groups (in the Operator panel, displayed after the tool is called) with following options:
- Active Group
- Selected Pose Bones
- Deform pose Bones
- All Groups
All tools also work with Vertex Selection Masking and Face Selection masking. In these modes the tools operate only on selected vertices or faces.
For each vertex, this tool makes sure that the sum of the weights across all Vertex Groups is equal to 1. This tool normalizes all of the vertex groups, except for locked groups, which keep their weight values untouched.
- Lock Active
- Keep the values of the active group while normalizing all the others.
This tool only works on the active Vertex Group. All vertices keep their relative weights, but the entire set of weights is scaled up such that the highest weight value is 1.0.
This tool mirrors the weights from one side of the mesh to the opposite side (only mirroring along X axis is supported). But note, the weights are not transferred to the corresponding opposite bone weight group. The mirror only takes place within the selected Vertex Group.
- Mirror Weights
- Mirrors the weights of the active group to the other side. Note, this only affects the active weight group.
- Flip Group Names
- Exchange the names of left and right side. This option only renames the groups.
- All Groups
- Operate on all selected bones.
- Topology Mirror
Mirror for meshes which are not 100% symmetric (approximate mirror). See here for more information.
Mirror to Opposite Bone
If you want to create a mirrored weight group for the opposite bone (of a symmetric character), then you can do this:
- Delete the target Vertex Group (where the mirrored weights will be placed).
- Create a copy of the source bone Vertex Group (the group containing the weights which you want to copy).
- Rename the new Vertex Group to the name of the target Vertex Group (the group you deleted above).
- Select the Target Vertex Group and call the Mirror tool (use only the Mirror weights option and optionally Topology Mirror if your mesh is not symmetric).
Replaces each Weight of the selected weight group by × -1.0 weight.
- Original 1.0 converts to 0.0
- Original 0.5 remains 0.5
- Original 0.0 converts to 1.0
- Restrict the tool to a subset. See above The Subset Option about how subsets are defined.
- Add Weights
- Add vertices that have no weight before inverting (these weights will all be set to 1.0).
- Remove Weights
- Remove vertices from the Vertex Group if they are 0.0 after inverting.
Locked vertex Groups are not affected.
Removes weights below a given threshold. This tool is useful for clearing your weight groups of very low (or zero-) weights.
In the example shown, a cutoff value of 0.2 is used (see operator options below) so all blue parts are cleaned out.
Note, the images use the Show Zero weights Active option so that unreferenced Weights are shown in Black.
- Restrict the tool to a subset. See above The Subset Option for how subsets are defined.
- This is the minimum weight value that will be kept in the Group. Weights below this value will be removed from the group.
- Keep Single
- Ensure that the Clean tool will not create completely unreferenced vertices (vertices which are not assigned to any Vertex Group), so each vertex will keep at least one weight, even if it is below the limit value!
This operator uses a process known as Quantization which takes the input weights and clamps each weight to a number of steps between (0 - 1), so there is a no longer a smooth gradient between values.
- The number of steps between 0 and 1 to quantize the weights into.
For example 5 would allow the following weights
[0.0, 0.2, 0.4, 0.6, 0.8, 1.0].
Adds an offset and a scale to all weights of the selected Weight Groups. with this tool you can raise or lower the overall “heat” of the weight group.
No weight will ever be set to values above 1.0 or below 0.0 regardless of the settings.
- Restrict the tool to a subset. See above The Subset Option for how subsets are defined.
- A value from the range (-1.0 - 1.0) to be added to all weights in the Vertex Group.
- All weights in the Subset are multiplied with the gain.
Whichever Gain and Offset you choose, in all cases the final value of each weight will be clamped to the range (0.0 - 1.0). So you will never get negative weights or overheated areas (weight > 1.0) with this tool.
The Smooth tool only works when “Vertex selection masking for painting” is enabled. Otherwise the tool button is grayed out.
Blends the weights of selected vertices with adjacent unselected vertices. This tool only works in vertex select mode.
To understand what the tool really does, let us take a look at a simple example. The selected vertex is connected to four adjacent vertices (marked with a gray circle in the image). All adjacent vertices are unselected. Now the tool calculates the average weight of all connected and unselected vertices. In the example this is:
\((1 + 0 + 0 + 0) / 4 = 0.25\)
This value is multiplied by the factor given in the Operator options (see below).
- If the factor is 0.0 then actually nothing happens at all and the vertex just keeps its value.
- If the factor is 1.0 then the calculated average weight is taken (0.25 here).
- Dragging the factor from 0 to 1 gradually changes from the old value to the calculated average.
Now let us see what happens when we select all but one of the neighbors of the selected vertex as well. Again all connected and unselected vertices are marked with a gray circle. When we call the Smooth tool now and set the Factor to 1.0, then we see different results for each of the selected vertices:
The topmost and bottommost selected vertices:
are surrounded by three unselected vertices, with an average weight of \((1 + 0 + 0) / 3 = 0.333\) So their color has changed to light green.
The middle vertex:
is connected to one unselected vertex with
weight = 1. So the average weight is 1.0 in this case, thus the selected vertex color has changed to red.
The right vertex:
is surrounded by three unselected vertices with average weight = \((0 + 0 + 0) / 3 = 0.0\) So the average weight is 0, thus the selected vertex color has not changed at all (it was already blue before Smooth was applied).
Finally let us look at a practical example. The middle edge loop has been selected and it will be used for blending the left side to the right side of the area.
- All selected vertices have two unselected adjacent vertices.
- The average weight of the unselected vertices is \((1 + 0) / 2 = 0.5\)
- Thus when the Factor is set to 1.0 then the edge loop turns to green and finally does blend the cold side (right) to the hot side (left).
- The effective amount of blending. When Factor is set to 0.0 then the Smooth tool does not do anything. For Factor > 0 the weights of the affected vertices gradually shift from their original value towards the average weight of all connected and unselected vertices (see examples above).
- Number of times to repeat the smoothing operation.
- Positive values expand the selection to neighboring vertices while contract limits to the selection.
The vertices to mix with.
- Smoothing will smooth both selected and deselected vertices.
- Only Selected
- Smoothing will only smooth with selected vertices.
- Only Deselected
- Smoothing will only smooth with deselected vertices.
The Fix deforms tool is used to modify an object’s nonzero weights so its deformed vertices are at a new defined distance. This is helpful to fix deformations because when complex models are deformed to their extreme poses, they are often visibly bumpy, jagged, or otherwise incorrectly deformed. Using this tool, you can smooth over the deformation.
To use the tool, select the vertices that you would like to move, either in Edit Mode or by using the vertex selection/mask. The operator can now be used and altered with these options:
- The distance to move to.
- The distance moved can be changed by this factor.
- Changes the amount weights are altered with each iteration: lower values are slower.
Note that if it does not change, then there are no nonzero bone weights that are changed to make it closer to the intended distance.
Copy weights from other objects to the vertex groups of the active object.
By default this tool copies only the active (selected) vertex group of the source object to the active vertex group of target object or creates a new one if the group does not exist. However, you can change the tool’s behavior in the Operator panel.
For example, to transfer all existing vertex groups from the source objects to the target, change the Source Layers Selection option to By Name.
This tool uses the generic “data transfer”, but transfers from all selected objects to active one. Please refer to the Data Transfer docs for options details and explanations.
Prepare the Copy¶
You first select all source objects, and finally the target object (the target object must be the active object).
It is important that the source objects and the target object are at the same location. If they are placed side-by-side, then the weight transfer will not work, (see Vertex Mapping option). You can place the objects on different layers, but you have to ensure that all objects are visible when you call the tool.
Now ensure that the target object is in Weight Paint mode. Open the Tool Shelf and call the Transfer Weights tool in the Weight Tools panel.
Operator Panel Confusion¶
You may notice that the Operator panel stays available after the weight transfer is done. The panel only disappears when you call another Operator that has its own Operator panel. This can lead to confusion when you use Transfer weights repeatedly after you changed your vertex groups. If you then use the still-visible Operator panel, then Blender will reset your work to its state right before you initially called the Transfer Weights tool.
So when you want to call the Transfer Weights tool again after you made some changes to your vertex groups, then always use the Transfer Weights button, even if the operator panel is still available. Unless you really want to reset your changes to the initial call of the tool.
Reduce the number of weight groups per vertex to the specified Limit. The tool removes lowest weights first until the limit is reached.
The tool can only work reasonably when more than one weight group is selected.
This is an interactive tool for applying a linear/radial weight gradient; this is useful at times when painting gradual changes in weight becomes difficult.
The Gradient tool can be accessed from the Tool Shelf or as a key shortcut:
- Linear: Alt-LMB and drag.
- Radial: Ctrl-Alt-LMB and drag.
The following weight paint options are used to control the gradient:
- The gradient starts at the current selected weight value, blending out to nothing.
- Lower values can be used so the gradient mixes in with the existing weights (just like with the brush).
- The brush falloff curve applies to the gradient too, so you can use this to adjust the blending.
Blends the weights of selected vertices with unselected vertices.
This tool only works in vertex select mode.
- Assign from Bone Envelopes
- Apply the envelope weight of the selected bone(s) to the selected vertex group.
- Assign Automatic from Bone
- Apply from the selected bone(s) to the vertex group the same “auto-weighting” methods as available in the Parent armature menu.