Nodes/Avatar Graph/UV Mark Seam
ComfyUI Node

UV Mark Seam

Where the texture gets permission to cut

By avatechai·Created 3 years ago·Updated 2 years ago· 264
UV Mark Seam
  • BPY_OBJ
  • BPY_OBJ
clearfalse

Seams are the cutting instructions for an unwrap. When Blender flattens a 3D mesh into 2D UV space, it can't lay a closed surface flat without tearing it somewhere - seams are where you tell it those tears are allowed to happen. UV Mark Seam is the node that paints those cuts, and it's the difference between a clean, evenly-stretched texture and a mess of pinched faces. In the Avatar Graph pack, this is how you control exactly where the character's texture wraps and where it breaks.

How it works

Like every UV_* node in this pack, UV Mark Seam is a thin, auto-generated wrapper around a real Blender operator - here bpy.ops.uv.mark_seam. It takes your BPY_OBJ, enters edit mode, and marks (or clears) seams on the selected edges. The single input beyond the mesh is clear: leave it off to mark seams, flip it on to remove them from the selected edges. Output is the same BPY_OBJ, so it slots anywhere in a mesh chain.

The thing to remember is that the node itself doesn't select edges - it only acts on whatever's already selected. In Blender you'd pick an edge loop by hand; here you do it with a node like UV Select Edge Ring (also in this pack) feeding in before it. Edge loops are the natural seam candidates because they're the boundaries along which a surface naturally folds.

Where it fits

Most of the pack's avatar layers are flat plane meshes, where seams barely matter - a flat plane needs no cuts. But the README's dog-head workflow and anything you extrude into actual 3D do, and this is where seams earn their keep. If you're unwrapping a head mesh, the classic seam runs behind the ear and around the mouth: mark those loops, then unwrap, and you get a face texture that doesn't shear across the jaw when the lipsync blendshapes fire.

A useful pattern, and the one Blender artists use constantly: mark a seam, run an unwrap, look at the stretch, then clear (clear: true) and re-mark. Since both mark and clear live on this one node, you can even do both in a single graph with two copies.

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 let ComfyUI Manager do it - search Avatar Graph → Install.

The pack is currently marked as a work in progress by its authors, so pin it and expect occasional breakage on updates. The big install trap is Python version: bpy==3.6.0 only installs cleanly on Python 3.10.x, so a 3.11/3.12 ComfyUI will fail on pip install -r requirements.txt and none of these nodes will appear. Use the README's bundled 3.10 environment on Windows or a python=3.10 conda env elsewhere. First launch also auto-downloads the ~2.5 GB SAM model, so give it time.

Categoryblender

Inputs (2)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
clearoptBOOLEANfalse

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ