Mesh Polybuild Transform At Cursor
Grab-the-nearest-vertex, without a cursor to grab with
- BPY_OBJ
- BPY_OBJ
Poly Build in Blender isn't only for adding geometry - click and drag on an existing vertex or edge and it grabs the nearest one for you to move, no explicit selection needed first. That's what this node wraps: the "grab whatever's closest to the cursor" half of the tool.
What it is and why you'd reach for it
It's not part of Avatar Graph's documented rigging pipeline (Create Mesh Layer → Modify Shape Key → Create Shape Flow → Avatar Main Output) - it's one of the many nodes this pack auto-generates by wrapping essentially every operator under Blender's bpy.ops.mesh namespace, kept current by the README's generate_blender_types.py script. The interactive version relies entirely on your mouse position to decide which vertex or edge counts as "nearest" and to drive the resulting move. This node's schema exposes no cursor or location input, so headless in a graph there's no way to tell it what to grab.
How it works
It identifies the mesh element closest to a target point and prepares it for a transform, the same "select-by-proximity" logic behind Poly Build's click-to-grab interaction in the viewport.
The inputs and outputs that matter
The same proportional-editing option set shared by several other Polybuild nodes in this pack:
mirror(boolean) - mirrors the operation across the mesh's symmetry setting, if one exists.use_proportional_editplusproportional_edit_falloff(SMOOTH,SPHERE,ROOT,INVERSE_SQUARE,SHARP,LINEAR,CONSTANT,RANDOM) andproportional_size- Blender's standard falloff controls for tapering an edit into surrounding geometry.use_proportional_connected/use_proportional_projected- restrict that falloff to connected topology, or project it through space.release_confirm/use_accurate- interaction-timing flags carried over from the interactive tool.
Output is the pack's standard single BPY_OBJ.
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
cd avatar-graph-comfyui
python -m pip install -r requirements.txt
Because this pack runs on bpy - Blender packaged as a pip module, which only ships wheels for specific Python minor versions - the README is direct: you need Python 3.10.x. Windows users get a bundled embedded-Python-3.10 zip made for exactly this reason; macOS/Linux users should pin a conda create --name comfyui python=3.10 environment before installing anything. Restart with --enable-cors-header (--force-fp16 too on Mac) for the live avatar preview panel; without it, the graph still runs, minus the real-time viewer.
Common issues
If you were expecting this node to reliably grab a specific vertex for a scripted transform, it won't - with no cursor input, it has no consistent notion of "nearest." For a controllable, repeatable transform in a scripted graph, select the element explicitly upstream and apply a standard transform operator instead of relying on this cursor-driven tool. As with the whole pack, a failed bpy install almost always traces back to the Python version, not a broken dependency - verify python --version before digging further.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| mirroropt | BOOLEAN | false | — |
| use_proportional_editopt | BOOLEAN | false | — |
| proportional_edit_falloffopt | COMBO | 8 options: SMOOTH, SPHERE, ROOT, INVERSE_SQUARE, SHARP, LINEAR, +2 | |
| proportional_sizeopt | FLOAT | 1.009.999999974752427e-7–999999995904 | — |
| use_proportional_connectedopt | BOOLEAN | false | — |
| use_proportional_projectedopt | BOOLEAN | false | — |
| release_confirmopt | BOOLEAN | false | — |
| use_accurateopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |