Handy Weight Edit

Handy Weight Edit is an alternate weight painting method in Edit mode.
It offers precise control where and how weight is distributed. Instead of over paint in small hard to get areas, you can now select individual vertices and add weight value to them. Along with all the familiar tools like loop select, xray, lasso select, hide/unhide elements, it is never easier to modify weight values during character skinning process.
After binding to an armature, select a single mesh object and enter edit mode, then use various tools to modify the weight value:
1. increase or decrease weight value with mouse wheel on selected vertices (hotkeys can be customized)
method one: uniformly modify weight value to selected vertices. useful to fill large portion of area with same value.
method two: vertex weight value is modified on a per vertex level, in a gradient manner. useful to fine tune borders where multiple bone influence groups meet.
2. smooth selected vertices weight
3. copy weight value as last selected vertex.
4.mirror weight value.
5. Switch Bone Influenced Groups with Single Operator:
case 1: if a single vertex is selected, cycle through all influenced weight groups that include the vertex. useful where multiple vertex groups intersect.
case 2: if more than 1 vertex is selected or none is selected, switch bone influenced group under mouse cursor. useful where a precise selection is made and you want to switch bone influence group.
6. limit max weight groups. to increase lower end platform performance, a set of max bone number influence is a must.
7. remove weight below set threshold. optimize performance by removing small influenced values.
8. select half of the mesh
9. check if total weight value equal to one. for usage in game engines, many prefer each vertex total weight value is one. this operator will pick out the abnormal ones.
10. Some platform have hard max limit of how many bones a vertex can be influenced. This operator will check if there is any vertex that has exceeded set max weight group limit. for example, if the max is set to 3, this operator will pick out any vertex that have more than 3 vertex group influences.
11 basic normalize. simply make sure selected vertices have total max weight value equal to one
12 show active single vertex's weight groups. Although spreadsheet is very powerful, for complex rigging, it is more convenient to show only influenced weight groups of a selected vertex.
contact me: learnasimakeit@outlook.com
***************** Update **************************
update 1.2.2:
minor operators condition check fix
added: new method to switch bone influenced group.
changed: Operator previously called "Cycle Through VG" is now "Switch VG".
with the same operator, if a single vertex is selected, it will cycle through all its relevant vertex groups as it used to be. meanwhile, if more than 1 vertex is selected or nothing is selected, it will change active vertex group to what is under the mouse cursor.
update 1.2.1:
the new way to modify vertex weight in version 1.2 is re-written, the result is a lot faster on high poly meshes. on mid or low poly mesh, there is little speed difference. update is recommended.
update 1.2:
added new way to modify weight value: vertices weight value are modified on a per vert level. easier to fine tune transition areas
update 1.1.1:
made the "Active Vertex Weight Groups" read only to avoid flickering issue when mouse over the numbers.
update 1.1:
added: Normalize Weight: basic normalize selected vertices.
added: Check Exceeded Groups: pick out any vertex that exceed set max weight groups
added: A Panel shows single vertex's influence weight groups. easier to diagnose.
***************** Q&A ******************
How to use it?
1. select a single mesh object and go to edit mode. (the addon works on single selected active object)
2. locate the addon tab enable "Vertex Weight Toggle"
3. there should be some vertex groups on the mesh after binding, for other scenarios, if there is not any vertex groups, add some and start to modify weight value with included tools.
4. any operators from the addon that can change the weight value will only work on selected vertices, if nothing is selected, it would do nothing.
How to use mirror weight?
Mirror weight will transfer weight value to selected vertices from relevant mirror parts.
for example, I have rigged a human character and done a simple binding. I fine tune the weights on left forearm and left leg. then I select all right side vertices and press mirror weight. right forearm and right leg would have similar mirrored weight.
How to use "Switch VG" Operator?
first I recommend setup the shortcut according to your habit in addon preference.
With nothing selected or more than 1 vertex selected, you can move mouse cursor near a bone and use shortcut to run the operator. it will switch to the vertex group under the mouse cursor.
it is useful if you have already select some vertices to modify weight and you'd like to check different bone's influence.
under the hood, it samples what is under the mouse cursor and compare the weight of influenced vertex groups and set whichever is greatest as active vertex group.
for more complex area, select a single vertex and cycle all its influenced vertex groups, such as chest area.
How to use the two modify weight methods?
there are two methods to modify weight of selected vertices.
first one will uniformly fill the vertices weight value. for example, the middle portion forearm bone would have 100% influence.
whereas the tip and root of the bone is transition area to meet with other bones influence, I would use smooth weight and mothed two to fine tune the weight influence. since method two would modify weight value on a per vertex level.
this is especially useful for bending kneel area: