Nodes/Avatar Graph/Object Face Map Deselect
ComfyUI Node

Object Face Map Deselect

The inverse of Face Map Select

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

Exactly what the name says, and the mirror image of Object_FaceMapSelect: Object Face Map Deselect removes the active face map's faces from the current Edit Mode selection, leaving everything else selected exactly as it was.

How it works

It wraps bpy.ops.object.face_map_deselect(), and like the rest of this family it needs the object in Edit Mode to do anything - use Object_EditmodeToggle first if you're not already there. It only touches faces belonging to the active face map; anything else you had selected stays selected, untouched.

The practical use is narrowing a selection: say a broader selection step upstream in your graph grabbed more faces than you want to act on, and some of those happen to belong to a face map you'd tagged earlier for a different purpose (an eye region, say, while you're now working on something else). This node peels just that group back out of the current selection without disturbing the rest.

The inputs and outputs that matter

There's exactly one input:

  • BPY_OBJ - the object whose active face map's faces get deselected.

Output is a single BPY_OBJ, with the selection updated in Edit Mode.

How to install it

ComfyUI Manager: search "Avatar Graph", install, restart - or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui && python -m pip install -r requirements.txt

bpy needs Python 3.10.x, exactly. Windows gets a prebuilt Python-3.10 ComfyUI zip from the README; macOS/Linux wants a dedicated conda create --name comfyui python=3.10 environment. Add --enable-cors-header on restart (--force-fp16 too on Mac) for the live avatar preview; without it you still get full functionality via .glb/.gltf export.

Common issues & troubleshooting

Node not loading traces to the Python-version pin - check the startup console for a bpy import error first.

Nothing changed after running this node - check whether the object is actually in Edit Mode, and whether the active face map has any faces assigned to it (via Object_FaceMapAssign) in the first place. If either is missing, there's nothing for this node to deselect.

Deselected more or less than expected - since it always acts on the active face map, not one you name, confirm the right map is active before this node runs if you're working with more than one.

Whole selection vanished - that would mean everything you had selected happened to also be members of the active face map; this node doesn't do a blanket "deselect all," it only removes what's actually tagged in that map. If your entire selection disappeared, that's a real overlap between your prior selection and the face map's membership, worth double-checking upstream.

Standing caveat for this whole family: face maps are a deprecated Blender feature, superseded by the general attribute system in newer versions. An error about a missing face-map API is your bpy version, not your graph.

Categoryblender

Inputs (1)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ