Mesh Wireframe
Turning edges into real geometry in Avatar Graph
- BPY_OBJ
- BPY_OBJ
Most of Avatar Graph's mesh nodes are working toward a rigged, textured character. Mesh Wireframe is a bit different - it's a stylistic tool. It converts a mesh's edges into actual solid geometry, replacing each edge with a thin beam, so instead of a flat-shaded surface you get a literal wireframe cage you can render, texture, or use as a prop. If you want a low-poly, "digital construct" or hologram-style look for part of an avatar or scene, this is how you'd get real 3D wireframe geometry rather than faking it with a shader.
How it works
It's a direct wrap of Blender's Wireframe modifier applied as an operator - the same effect as Blender's Wireframe modifier, but baked into real mesh data on the spot rather than left as a live, non-destructive modifier. Each edge of the source mesh becomes a thin solid tube or beam in the output; how thick, how evenly spaced, and whether it replaces the original mesh or adds alongside it are all configurable.
The inputs and outputs that matter
BPY_OBJ- the object to convert.thickness(default0.01) - how thick the wireframe beams are. This is the one setting that most visibly changes the result; too thick and the shape reads as solid again, too thin and it can disappear at a distance.use_replace(defaulttrue) - whether the wireframe geometry replaces the original mesh or gets added on top of it. Turn this off if you want to keep the original solid mesh and layer wireframe on top as an accent.use_boundary(defaulttrue) - whether open boundary edges get wireframed too, relevant for meshes with holes or open edges rather than fully closed surfaces.offset(default0.01) anduse_even_offset- control how the wireframe geometry is positioned relative to the original surface; even offset keeps thickness visually consistent across differently-angled edges.use_creaseandcrease_weight- mark the resulting edges with a crease weight, useful if you're feeding the result into a subdivision step afterward and want the wireframe to stay sharp rather than getting smoothed.
Output is a single BPY_OBJ, the converted mesh.
How to install it
ComfyUI Manager, search "Avatar Graph", install, restart - or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
then pip install -r requirements.txt and restart. Needs Blender's bpy module, pinned to Python 3.10.x - a dedicated conda environment on macOS/Linux, or Avatech's prebuilt Python-3.10 ComfyUI zip on Windows with the pack installed through Manager afterward.
Common issues & troubleshooting
If the node won't load, that's the pack's Python-version pin, not this specific operator - check ComfyUI's startup console for an import error and confirm a clean Python 3.10.x environment with requirements.txt installed cleanly.
If the result looks like a solid blob instead of a wireframe, thickness is almost certainly too high relative to the mesh's actual scale - since the default (0.01) is an absolute unit value, not a percentage, it can look wildly different depending on how big your object is in Blender's world units. Scale it down for small objects, up for large ones, rather than assuming the default will look right on everything.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| use_boundaryopt | BOOLEAN | true | — |
| use_even_offsetopt | BOOLEAN | true | — |
| use_relative_offsetopt | BOOLEAN | false | — |
| use_replaceopt | BOOLEAN | true | — |
| thicknessopt | FLOAT | 0.010–10000 | — |
| offsetopt | FLOAT | 0.010–10000 | — |
| use_creaseopt | BOOLEAN | false | — |
| crease_weightopt | FLOAT | 0.010–1000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |