UV Mark Seam
Where the texture gets permission to cut
- BPY_OBJ
- BPY_OBJ
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.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| clearopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |