Mesh Customdata Crease Vertex Add
The newer, lesser-known sibling of edge crease
- BPY_OBJ
- BPY_OBJ
If you know Blender's edge crease feature but not vertex crease, you're not missing something obvious - vertex crease is the newer, quieter sibling, added to give the subdivision algorithm a way to hold a point sharp rather than only an edge line. This node wraps bpy.ops.mesh.customdata_crease_vertex_add and, like the rest of Avatar Graph's Customdata nodes, takes a mesh object in and hands the same object back out - no other settings.
What it actually does
Where edge crease resists smoothing along an edge, vertex crease resists smoothing around a single point - useful for a corner or a pinch you want to survive a Subdivision Surface pass even when the edges leading into it aren't individually creased. Neither feature exists on a mesh until something asks for it, and this operator is that ask: it allocates the per-vertex crease layer, initialized to zero everywhere. Nothing about the mesh's shape changes when this runs. It's purely a "make the storage exist" step, the same pattern as the pack's other Customdata*Add nodes.
The input and output that matter
BPY_OBJ(optional) - the mesh to add the vertex-crease layer to.
Output is the same BPY_OBJ, geometry untouched, now with somewhere to store per-vertex crease values.
How to install it
Search Avatar Graph in ComfyUI Manager, or clone it directly:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui
python -m pip install -r requirements.txt
Restart ComfyUI afterward. The pack pins bpy==3.6.0, which needs Python 3.10.x specifically - the README ships a prebuilt Python-3.10 ComfyUI zip for Windows, and recommends a dedicated conda environment (conda create --name comfyui python=3.10) for Mac/Linux rather than reusing whatever Python your existing ComfyUI runs on. mediapipe, opencv-python, and segment-anything come along too, unpinned but not small.
Common issues & troubleshooting
"Nothing visibly changed after running this." That's correct - same as edge crease's add operator, this only creates empty storage. You won't see a sharper point anywhere until you both set non-zero vertex crease values and actually run a Subdivision Surface step that reads them.
Confusing this with the edge-crease node. They're genuinely separate features solving overlapping problems - edge crease holds a line sharp, vertex crease holds a point sharp - and Blender only added vertex crease well after edge crease existed, so a lot of Blender users have never touched it. If your goal is a sharp edge running across the mesh, you likely want Mesh_CustomdataCreaseEdgeAdd instead; this one is for isolated points.
Import errors at ComfyUI startup. That's the pack's Python-version pin biting, not this specific node - verify you're actually on a 3.10.x interpreter before digging further, since bpy==3.6.0 simply won't load elsewhere.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |