Nodes/comfyui-game-assets-maker/SeeThrough Parts To SVG Paths
ComfyUI Node

SeeThrough Parts To SVG Paths

Turn your character's layers into actual SVG paths

By quinteroac·Created 4 months ago·Updated 4 months ago· 20
SeeThrough Parts To SVG Paths
  • parts
  • svg
  • svg_text
  • svg_path
contour_modehierarchy
depth_orderback_to_front
alpha_threshold10
simplify_epsilon1.5
min_area16
stroke_width1.0
stroke_color#111111
fill_pathsfalse
fill_colornone
save_svgtrue
filename_prefixseethrough_trace

If you've used the See-through node pack to decompose an anime character into layers, you've got a pile of cutout images - hair, torso, arms, each on its own alpha. GameAssets_SeeThroughPartsToSVGPaths converts those layer silhouettes into real SVG paths. Not a trace tool that rebuilds your character, and deliberately not one that keeps colors or textures: this is vector outlines of layer masks, ready to drop into a vector pipeline.

It's part of comfyui-game-assets-maker, quinteroac's pack shared on r/comfyui as a playground for game-asset pipelines. It's a niche node in a niche pack, but if you've ever wanted to rig from vectors instead of bitmaps, it's the missing bridge.

The prerequisite you need to know

This node consumes SEETHROUGH_PARTS - the output type of SeeThrough_PostProcess from jtydhr88/ComfyUI-See-through, the ComfyUI port of the "see-through" single-image layer decomposition project (the one that made the rounds on r/StableDiffusion with a good bit of excitement). That pack is a separate install and you need it first; without it you literally cannot feed this node. Wire its parts output in, and it'll also give you per-part depth order (depth_median), which this node uses to stack the paths back-to-front.

How it works

For each part, it builds a mask from the alpha channel (pixels above alpha_threshold, default 10), traces contours with OpenCV, and converts them to SVG path data. contour_mode is the one that matters: external traces just the outer silhouette; hierarchy also preserves internal holes (like the gap under an arm). simplify_epsilon reduces the number of points in the path - higher is smoother but less faithful, 1.5 is a good default. min_area drops specks of noise.

Styling is straightforward: stroke_width/stroke_color, and fill_paths + fill_color if you want filled shapes instead of outlines.

Outputs

  • svg - a ComfyUI SVG-compatible object, meaning it plugs directly into the built-in Save SVG node.
  • svg_text - the same SVG as text, if you want to inspect or dump it elsewhere.
  • svg_path - the file path, when save_svg is on (written to ComfyUI's output directory with a timestamped name).

Each path carries data-tag and data-depth attributes, so the layer info survives into the SVG.

Installing

ComfyUI Manager (search "comfyui-game-assets-maker") or:

cd ComfyUI/custom_nodes
git clone https://github.com/quinteroac/ComfyUI-GameAssetsMaker.git
cd ComfyUI-GameAssetsMaker
pip install -r requirements.txt

Restart after. Only opencv-python to install, no model downloads - plus the separate See-through pack you already need for the input.

Where people get burned

Remember what this node is not: it ignores source colors and textures on purpose, so don't expect a clean vectorized character. You get silhouettes, and messy seams where layers overlap will show as overlapping paths. hierarchy mode helps with holes but costs more path data; if paths come out noisy, raise min_area and simplify_epsilon rather than fighting the geometry by hand.

CategoryGame Assets/Canvas

Inputs (12)

NameTypeDefaultDescription
partsSEETHROUGH_PARTS
contour_modeCOMBOhierarchy2 options: external, hierarchy
depth_orderCOMBOback_to_front3 options: back_to_front, front_to_back, input_order
alpha_thresholdINT100–255
simplify_epsilonFLOAT1.50–64
min_areaINT160–1048576
stroke_widthFLOAT1.00–64
stroke_colorSTRING#111111
fill_pathsBOOLEANfalse
fill_colorSTRINGnone
save_svgBOOLEANtrue
filename_prefixSTRINGseethrough_trace

Outputs (3)

NameTypeDescription
svgSVG
svg_textSTRING
svg_pathSTRING