Nodes/Avatar Graph/Mesh Extrude Vertices Move
ComfyUI Node

Mesh Extrude Vertices Move

The lightest-weight extrude in the pack

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Mesh Extrude Vertices Move
  • BPY_OBJ
  • BPY_OBJ

Extrude a face and you get new faces. Extrude an edge and you get a new strip. Extrude vertices, and each selected point just grows a single new edge running out to a new vertex - no new faces, nothing filled in, the barest possible extrude. It's what you'd use to pull a whisker, a spike, or a single point of geometry off a mesh, and it keeps everything you selected moving together as one connected step (as opposed to its sibling, Mesh_ExtrudeVertsIndiv, which extrudes each vertex on its own).

Why it's in this pack

It's a direct wrap of Blender's bpy.ops.mesh.extrude_vertices_move, one of twenty low-level Blender operator wraps this pack ships without covering in its own README - that document's node table lists the headline pieces (Create Mesh Layer, Mesh Modify Shape Key, Avatar Main Output), not these. The repo's dev notes describe a generate_blender_types.py script for regenerating Blender operator bindings, which is exactly where this naming pattern comes from.

Avatar Graph, from Avatech AI, turns a single character image into a 2.5D interactive avatar - segmentation, per-layer mesh generation, shape-key rigging for blink and mouth movement, then a live view through Avatech's own hosted editor. A vertex-level extrude is about as fine-grained as mesh editing gets; you'd reach for it hand-fixing or extending a generated mesh at a single point rather than a whole face or edge run.

Inputs and outputs

Just BPY_OBJ in, BPY_OBJ out - no other parameters. That's a real gap from how it behaves in Blender itself, where the "Move" is normally driven by a live mouse drag the moment the extrude fires. With no offset exposed here, treat this node as generating the new vertex-and-edge geometry sitting right on top of the original point, and pair it with a separate transform step downstream if you actually need it displaced somewhere. Which vertices extrude is entirely a function of the selection already carried on the incoming BPY_OBJ, set upstream by a selection node or a prior editing step.

Installing Avatar Graph

Search "Avatar Graph" in ComfyUI Manager and install, or go manual: cd ComfyUI/custom_nodes && git clone https://github.com/avatechai/avatar-graph-comfyui, then python -m pip install -r requirements.txt inside that folder, then restart. One thing to flag - the README's own manual-install command clones from avatechgg, not avatechai; use the canonical URL above instead, the one their Manager listing and the rest of the repo agree on.

The real gate on installing successfully is Python version. bpy, Blender's Python API and this pack's core dependency, only ships wheels for specific Python builds - you need 3.10.x. A modern ComfyUI on Python 3.11 or 3.12 will fail to install or import it. Conda handles this cleanly on Mac/Linux (conda create --name comfyui python=3.10); on Windows, the author ships a dedicated prebuilt ComfyUI + Python 3.10 zip rather than expecting a retrofit of an existing setup.

Once running, restart with python main.py --enable-cors-header (Mac: add --force-fp16) if you want the live avatar preview reaching Avatech's hosted editor. Skip it and the pack still works fully - export manually via right-click → Save on Avatar Main Output instead.

Common issues

No model downloads, nothing unusual beyond bpy - most install pain traces back to that Python pin, most preview pain to the missing CORS flag. The README's own admission that nodes and templates are still being iterated on explains why documentation on something this granular doesn't really exist.

The thing to actually remember about this node: with no offset value exposed, don't expect any visible change from running it alone - the new vertex sits directly on the old one until a downstream transform moves it. And since it treats your whole selection as one connected group, if you needed each vertex to grow its own independent extrusion, you want Mesh_ExtrudeVertsIndiv instead.

Categoryblender

Inputs (1)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ