Mesh Dissolve Verts
Removes vertices, keeps the surface sealed
- BPY_OBJ
- BPY_OBJ
The vertex-mode sibling to Mesh_DissolveEdges, and the same story: this exists so you don't have to reach for Mesh_Delete and end up with a hole. Mesh_DissolveVerts wraps bpy.ops.mesh.dissolve_verts - it removes selected vertices and merges the surrounding edges and faces to close the gap, rather than leaving an opening the way a plain vertex delete would.
How it works
Select the vertices you want gone and run this instead of Mesh_Delete with type=VERT. Deleting a vertex outright takes every connected edge and face with it, tearing a hole. Dissolving removes the vertex specifically, letting the geometry around it merge back into fewer, larger faces so the surface stays intact. It's a reduction move, not a subtraction - useful for thinning out an area with more vertex density than the shape actually needs, without opening the mesh up.
The inputs and outputs that matter
BPY_OBJ(optional) - the mesh with vertices already selected.use_face_split(defaultfalse) - split resulting merged faces where needed for cleaner topology, rather than always collapsing into the largest possible face.use_boundary_tear(defaultfalse) - allow the dissolve to tear the mesh's outer boundary open instead of keeping it sealed. Left off unless you specifically want that.
Output is a single BPY_OBJ, with the selected vertices gone and surrounding geometry merged to fill the gap.
How to install it
Search Avatar Graph in ComfyUI Manager, or clone manually:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui
python -m pip install -r requirements.txt
then restart. bpy==3.6.0 needs Python 3.10.x - README's prebuilt Python-3.10 zip on Windows, conda environment (conda create --name comfyui python=3.10) on Mac/Linux. opencv-python, mediapipe, and segment-anything also install.
Common issues & troubleshooting
Nothing happens. As with the pack's other selection-driven dissolve nodes, this only acts on selected vertices - check that a real selection step actually ran upstream before assuming the node itself is at fault.
A large, odd-shaped face appeared where several vertices used to be. That's expected on flat or near-flat regions - dissolving a cluster of vertices merges everything around them into one bigger face. On curved geometry, that merged face can end up non-planar and look worse than the smaller vertex-dense version it replaced; this operator works best on genuinely flat or gently-curved regions, not aggressive curvature.
Wanted an actual hole instead. That's Mesh_Delete with type=VERT, not this node - dissolve is specifically for reducing vertex density while keeping the surface sealed.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| use_face_splitopt | BOOLEAN | false | — |
| use_boundary_tearopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |