Mesh Rip
Tear the mesh open along a seam without deleting anything
- BPY_OBJ
- BPY_OBJ
"Rip" is a good name for what this does: it takes selected vertices and disconnects them from the surrounding geometry, duplicating them into a fresh edge and leaving a gap where they used to be seamlessly attached. It's how you tear a mesh open on purpose - carving a slit for a mouth or an opening, or separating two regions that shouldn't share geometry anymore - without deleting a single face. This node is Blender's actual bpy.ops.mesh.rip operator, exposed as a ComfyUI node inside Avatar Graph, the pack that runs real Blender (via the bpy Python package) inside ComfyUI's process to build interactive 2D-to-3D avatars, auto-generating a node for every mesh operator Blender exposes.
How it works
Given a selection, Rip finds the point where that selection connects to the rest of the mesh and splits it: the selected geometry gets its own new edge, disconnected from what it used to share with its neighbors. What ships here is the bare rip operator - no move afterward, which is the thing that separates it from the two related nodes in this pack, Mesh Rip Move and Mesh Rip Edge Move (both of which bundle a follow-up translate step onto the same rip, the same way Blender's own V-key shortcut does interactively). This one just rips and stops.
Inputs and outputs
Most of this node's fields are proportional-editing options - the same "soft selection" system Blender uses for smooth, falloff-based transforms, carried along here because they're part of the underlying operator's own signature even though there's no move happening in this particular node:
BPY_OBJ- the mesh coming in, with the geometry to rip already selected upstream.use_fill- the one that actually matters for most uses: if on, it auto-fills the gap the rip creates instead of leaving it open. Off by default, which means you get an open tear unless you turn this on.mirror- mirrors the rip across the mesh's symmetry setting, if one's active.use_proportional_edit,proportional_edit_falloff(SMOOTH/SPHERE/ROOT/INVERSE_SQUARE/SHARP/LINEAR/CONSTANT/RANDOM),proportional_size,use_proportional_connected,use_proportional_projected- proportional-editing settings that only matter if a later transform step in your graph reads them; on a standalone rip they're mostly inert.release_confirm,use_accurate- carried over from the interactive operator, largely irrelevant outside Blender's own viewport.
Output is a single BPY_OBJ - the same object, now torn open at the ripped selection.
Installing it
ComfyUI Manager: search "avatar-graph-comfyui", install, restart. Manually: cd ComfyUI/custom_nodes && git clone https://github.com/avatechai/avatar-graph-comfyui, then cd avatar-graph-comfyui && python -m pip install -r requirements.txt, then restart.
Python 3.10.x is the requirement to get right first - the bpy package underneath this pack is built for that exact version, and the README recommends a dedicated conda environment on macOS/Linux (conda create --name comfyui python=3.10) instead of hoping your system Python matches. Windows users get a prebuilt ComfyUI + Python 3.10 zip linked in the README to unzip over their install before adding the pack via Manager. Restart with --enable-cors-header (macOS also wants --force-fp16) for the live 3D preview to work - without it, the graph still runs, you just save the model manually via the pack's Avatar Main Output node instead.
Common issues
Rule out the Python version mismatch first if this pack's nodes aren't loading at all. On the node itself, the most common surprise is an unwanted gap: use_fill defaults to off, so if you expected the rip to leave a clean, closed surface and instead got a hole, that's the setting to flip. Rip needs an actual boundary to work with - try it on a selection that's fully interior to the mesh with no edge to split away from, and it can fail to do anything meaningful, since there's nothing to rip from. As with every mesh node in this pack, feeding it something other than a proper mesh BPY_OBJ from earlier in the same graph surfaces as a Blender-side error - these are chain-only tools, not standalone ones.
Inputs (10)
| 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 | — |
| use_fillopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |