Eastin Weight Tools is a great addon for speeding up manual weighting. Sometimes Blender's automatic weighting system doesn't get it quite right and you just want to do it yourself instead of tinkering with it or weight painting is too imprecise. In comes Weight Tools. With some simple but great features, you can quickly get your model weighted just the way you want.
Easily gradiate from one weight to another by simply selecting an edge loop between them. Weight Tools automatically assigns weights to the vertices in-between them. You can decide between a linear algorithm or one based upon length.
You can also have two options when it comes to the range of vertices affected. Selection only applies weights to those vertices that are selected. Parallel (all) will gradiate the edge loops as well.
Quick Weights is for easily assigning evenly spaced weights. If in Edit Mode clicking on one of the numbers will assign that weight to selected vertices. If in Object Mode it will assign that weight to all vertices regardless of selection.
Changing the Denom(inator) number will change what buttons are shown. Think of it as the bottom number in a fraction (the denominator). 2 will show the decimals for 0/2 (0.0),1/2 (0.5), 2/2 (1.0). 5 will show the decimals fro 0/5 (0.0), 1/5 (0.2), 2/5 (0.4), 3/5 (0.6), 4/5 (0.8), 5/5 (1.0).
Remove 0's will remove all 0 weightings from weight groups so that if you need to select the vertices in any weight group it won't select those with 0 weights.
Select By Weight
Select By Weight allows you to do just that, select all vertices that match the condition with respect to the set weight. The panel is laid out as a linear sentence to help think about what you're selecting. Select (operator button) if (greater than or equal to, greater than, equal to, lesser than, lesser than or equal to) the Weight to Select (put in weight).
This panel will copy weights from one group to another. There are multiple ways to paste the weights though.
- Replace: Replace the weight of each vertex with copied weight
- Invert: Paste 1 - copied weight | 1-CW=Inverted Weight
- Add: Add copied weight to vertex weight = CW+VW
- Average: Add copied weight and vertex weight divided by 2 | (CW+VW)/2
- Subtract: Subtract copied weight from vertex weight | VW-CW
- Normalize: Pasted weights are divided by the sum of all vertex weights per vertex | PW/(Sum of all weight layers + PW)
- Weighted Normalize: Same as Normalize (f) but active weight layer is prioritized (not reduced) — EFFECTS ALL WEIGHT LAYERS, NOT JUST ACTIVE
Recursive Blend: Find all weight layers that begin with active weight layer’s name and copy and paste each one of those layers onto active according to paste mode (replace, invert, add, subtract, etc.)
Copy Nearest: For each selected vertex find the nearest unselected vertex and copy its weight onto the selected vertex
This panel is to help you find vertices that when the sum of all of its weights from all of its weight groups is greater than 1. Hitting Select will select all of those non-normalized vertices. Clicking on the Debug toggle will show you all of the vertices that are not normailzed in a list. In the list the numbers correspond to the vertex index and clicking on them will select that vertex. Clicking the 'X' next to it will remove the vertex from the list.
Blender's built-in operators placed in this panel for easy access:
- Show Weights - a toggle to show the vertex weights on the mesh in Edit Mode
- Invert - Invert selected vertices
- Smooth - Smooth selected vertices
- Copy - Copy active vertex weight onto selected vertices
- Mirror - Mirror vertex group, flip weights and/or names, editing only selected vertices, flipping when both sides are selected otherwise copy from unselected
Normalize - Blender has a built-in Normalize operator but this one works a little differently. Normalize will make sure the sum of all weights from all vertex groups assigned to each selected vertex add up to 1. This will keep the ratio of weights though, so if you have weights such as 1, 0.75, 0.5, 0.25 assigned to a vertex those weights will become 0.4, 0.3, 0.2, 0.1 respectfully. The weights now add up to 1 and their importance to that vertex is kept.
Weighted Normalize - Same as Normalize but the active weight group's weights are kept and considered the most important. So back to our example if we have weights such as 1, 0.75, 0.5, 0.25 with 0.75 as the active group's weight those weights will become ~0.14, 0.75, ~0.07, ~0.04 respectfully. if 1 was the active group's weight those weights will become 1, 0, 0, 0.
Please report any questions or bugs here: https://blenderartists.org/t/eastin-weight-tools/1187505
- fixed a bug that would occur when the active vertex wasn't an end vertex.