Nodes/Avatar Graph/Object Face Map Remove
ComfyUI Node

Object Face Map Remove

Deleting the active face map in Avatar Graph

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Face Map Remove
  • BPY_OBJ
  • BPY_OBJ

A companion to Object Face Map Move, but instead of reordering, this one deletes. Object Face Map Remove takes an object and removes its currently active face map - the named grouping of faces, not the faces themselves, which stay exactly where they are on the mesh.

How it works

This wraps Blender's object.face_map_remove operator. Face maps let you tag a subset of a mesh's faces under a name, and this deletes one such grouping from the object's list. Nothing about the mesh geometry changes - the faces that were in the map are still there, still shaped the same way; only the label that grouped them together goes away. It acts on whichever face map is currently active on the object, since this node takes no name or index to target a specific one.

The inputs and outputs that matter

There's exactly one input:

  • BPY_OBJ - the object to remove the active face map from.

Output is a single BPY_OBJ, the same object with one fewer face map in its list.

How to install it

ComfyUI Manager, search "Avatar Graph" and install, or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui

then pip install -r requirements.txt and restart. Needs Blender's bpy module, pinned to Python 3.10.x - a dedicated conda environment on macOS/Linux, or Avatech's prebuilt Python-3.10 ComfyUI zip on Windows with the pack installed through Manager afterward.

Common issues & troubleshooting

A node that won't load is the pack's Python-version pin, not this operator - check for an import error in ComfyUI's startup console and confirm a clean Python 3.10.x environment with requirements.txt installed cleanly.

The main way to get an unexpected result here is the "active" targeting: since this node has no way to name or select which face map gets removed, it always acts on whatever's active on the object at that point in the graph. If you meant to remove a specific one and a different map ends up deleted (or none does, if there weren't any to begin with), the fix is making sure the right map is set active before this node runs, not anything about this node's own inputs.

And separately, worth knowing regardless of what you're debugging: face maps are an older Blender feature that got removed in later Blender versions in favor of the general attribute system. If this errors out complaining about a missing face-map API rather than behaving as described, that's the bpy version this pack is running against, not a mistake in your graph.

If you're building a pipeline that relies on face maps for anything meaningful - tagging regions to reference later in a rig or an export step - it's worth confirming early, on a throwaway test object, that face-map operations behave as expected in your specific install before leaning on them across a larger graph. That's a cheaper way to find a version mismatch than discovering it partway through a longer pipeline where several nodes downstream also assume face maps exist.

Categoryblender

Inputs (1)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ