ComfyUI Node

UV Rip

Tear an island apart where the texture needs a break

By avatechai·Created 3 years ago·Updated 2 years ago· 265
UV Rip
  • BPY_OBJ
  • location
  • BPY_OBJ
mirrorfalse
release_confirmfalse
use_accuratefalse

UV Rip is the scalpel for UV maps: it splits UV elements apart at a point, creating a seam where none existed. Where UV Mark Seam declares cuts before an unwrap, Rip executes a cut on the UVs you already have - tearing an island in two so you can unwrap the halves independently, or opening up a closed loop that's causing texture pinching. It's one of the genuinely useful operators in the pack, with one caveat about how it behaves in a graph.

How it works

It wraps bpy.ops.uv.rip on your BPY_OBJ, the same auto-generated pattern as the rest of the UV_* nodes: enter edit mode, call the operator, return the object. The inputs:

  • location - a B_VECTOR2 (2D vector) giving the UV coordinate where the rip happens. This is the thing you actually set.
  • mirror - mirror the rip across the UV axis.
  • use_accurate - use accurate (slower, better) rip geometry.
  • release_confirm - confirm the rip without waiting for a drag-release.

Output is the same BPY_OBJ, now with the split UVs.

The caveat: in Blender, rip is an interactive tool - you click, drag to pull the pieces apart, release. This node hands the operator a location and lets it run with the rest at defaults, so you get the split but no interactive pull. That's fine for most uses (splitting is the useful part), but don't expect the "rip and stretch" gesture you get with a mouse.

Where it fits

Rip is for when an island is doing one thing across a region and you need it doing two. Classic avatar case: the mouth is one island, but you want the lips to unwrap or scale independently from the inner mouth, so you rip along the lip line and suddenly you have two islands that pack and texture separately. It also fixes pinched UVs - a closed island around a feature like an eye stretches badly; rip it open and the stretch relaxes.

Since the rip uses the current selection, pair it with a selection node: UV Select All to rip everything, or an edge-select to rip along a specific line. And if the split lands in the wrong spot, the honest fix is UV Remove Doubles to weld it back shut and try again.

Installing Avatar Graph

This node ships in the Avatar Graph pack from Avatech. From 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 ComfyUI with --enable-cors-header. Or ComfyUI Manager → search Avatar Graph → Install.

Pack-wide traps: it pins bpy==3.6.0, which only builds on Python 3.10.x - a newer Python fails the install and loads nothing. First launch pulls the ~2.5 GB SAM model. And the pack is openly still in development, so pin it once your workflow works.

Categoryblender

Inputs (5)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
mirroroptBOOLEANfalse
release_confirmoptBOOLEANfalse
use_accurateoptBOOLEANfalse
locationoptB_VECTOR2

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ