Object Vertex Weight Delete
Delete One Vertex's Weight Without Touching the Group
- BPY_OBJ
- BPY_OBJ
Vertex groups have weight values on individual vertices, and sometimes you want to kill exactly one vertex's weight in exactly one group - not the group, not the vertex, just that association. Object Vertex Weight Delete is that scalpel. It removes the active vertex's weight from the weight group you point it at.
This is the "oops, that vert grabbed the jaw group" fix. A whole-group removal would be overkill; this node does the one-cell edit.
How it works
An auto-generated wrapper around Blender's bpy.ops.object.vertex_weight_delete. Two things steer it:
- weight_group - the index of the weight group, an integer. Default is
-1, which in Blender's operator means all groups. Set it to a specific index (0, 1, 2…) to target one group. - The active vertex decides which vertex gets cleaned, via the mesh's edit-mode active selection.
So the recipe is: make the offending vertex active, set weight_group to the group index, run it. The weight disappears; the group and vertex both survive.
Output is the same BPY_OBJ, so you can chain the fix straight into a normalize or smooth pass.
The index-vs-name thing is the main wrinkle: the field takes a number, not a name. If you've been typing group names everywhere else in this pack, this node will trip you up. Know your group's index (often visible after a Sort tidies the list) or you'll be guessing.
Installing it
It's part of Avatar Graph:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui
python -m pip install -r requirements.txt
Restart ComfyUI, or grab "Avatar Graph" from ComfyUI Manager. Pack-wide install notes: bpy==3.6.0 requires Python 3.10 (dedicated conda env per the README), and bpy is a heavy headless-Blender dependency.
Common issues
The big trap is the -1 default. Leave it alone and every group loses the active vertex's weight - a surprisingly broad wipe for a "surgical" tool. Always set an explicit group index unless you truly mean all groups.
Second: this operates on the active vertex, so if nothing's active or the wrong vert is active, you're deleting the wrong weight. And the pack's standing rule - a real BPY_OBJ from upstream mesh nodes has to be wired in, or none of this runs.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| weight_groupopt | INT | -1-1–2147483647 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |