Nodes/Avatar Graph/Mesh Customdata Skin Add
ComfyUI Node

Mesh Customdata Skin Add

Sets up the data the Skin Modifier reads to inflate a stick figure into a mesh

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Mesh Customdata Skin Add
  • BPY_OBJ
  • BPY_OBJ

Blender's Skin Modifier is a neat trick: you build a bare-bones "skeleton" out of vertices and edges - no faces at all, just a stick figure - and the modifier inflates it into a solid tube-like mesh at render/viewport time, using a per-vertex radius to control how thick each point of the skeleton becomes. This node wraps bpy.ops.mesh.customdata_skin_add, the operator that sets that workflow up.

What it actually does

The Skin Modifier can't do anything without somewhere to read per-vertex radius from - that's optional custom data, not something every mesh has. This operator adds that layer, initialized to a default radius on every vertex. The mesh's actual shape doesn't change when this runs; you won't see any inflation or thickness appear on its own. What you get is the storage a Skin Modifier (added separately, outside this node's scope) needs to do anything.

If your Avatar Graph pipeline is building geometry from a skeleton-style edge structure rather than a flat plane-based mesh layer, this is the node that makes that structure "skin-modifier-ready." It's a less common path than the pack's main Create Mesh LayerPlane Texture Unwrap flow described in the README, but it's a legitimate way to build stylized tube-like geometry (hair strands, limbs, tentacles) procedurally.

The input and output that matter

  • BPY_OBJ (optional) - the mesh (typically an edge-only "skeleton" mesh) to add skin vertex data to.

Output is the same BPY_OBJ, geometry unchanged, now carrying per-vertex radius data a Skin Modifier can read.

How to install it

Search Avatar Graph in ComfyUI Manager, or install by hand:

cd 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. bpy==3.6.0 is the pin, and it needs Python 3.10.x to build - the README's prebuilt Python-3.10 ComfyUI zip is the fast path on Windows, a dedicated conda environment (conda create --name comfyui python=3.10) is the reliable one on Mac/Linux. opencv-python, mediapipe, and segment-anything also come along, unpinned but adding real install time.

Common issues & troubleshooting

"I added skin data and nothing looks different." Expected - this only creates the per-vertex radius storage. Nothing inflates until a Skin Modifier is actually applied to read it, which is a separate step from this node.

Radius looks wrong or uniform everywhere. The layer this operator adds starts at a flat default radius on every vertex - if you're expecting varied thickness (thick at the base, thin at the tip, say), something needs to set per-vertex radius values explicitly after this runs; adding the layer alone gives you uniform default thickness once a modifier reads it.

You're building geometry the usual "flat plane" way and stumbled onto this node. If your workflow follows the README's main path - segmenting an image, building a mesh layer from it, unwrapping it - you don't need this node at all. Skin data is for a different, skeleton-based way of building geometry, not the plane-based approach most Avatar Graph templates use.

bpy import failures at startup. That traces back to the Python version pin, not this node - confirm 3.10.x before troubleshooting further.

Categoryblender

Inputs (1)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ