Nodes/Avatar Graph/Object Shaderfx Remove
ComfyUI Node

Object Shaderfx Remove

Clean effects off your Grease Pencil layers

By avatechai·Created 3 years ago·Updated 2 years ago· 265
Object Shaderfx Remove
  • BPY_OBJ
  • BPY_OBJ
shaderfx
reportfalse

Shader effects are the toon-y post-fx stack that lives on Grease Pencil objects in Blender - Outline, Glow, Blur, Pixelate, Rim, Shadow. Sometimes you want to take one off. Object Shaderfx Remove wraps bpy.ops.object.shaderfx_remove and deletes a named effect from the object's stack.

It reads as the boring end of the shader FX family (copy, move up, move down, move to index, remove), and honestly it is. But it's also the cleanup node you'll reach for when you're building a rig procedurally: generate layers with effects baked in, then strip the ones you don't want before the avatar goes to the Shape Flow runtime. It's how you get a "no effects on this layer" state without rebuilding the mesh.

How it works

Like every Object_* node in Avatar Graph, this is an auto-generated thin wrapper. The pack enumerates bpy.ops.object.*, mints a node class per operator, and at runtime sets your incoming BPY_OBJ as the active object, calls the operator, then passes the object straight back out. The output is the same BPY_OBJ you fed in - these nodes are designed to sit mid-chain.

The inputs that matter

  • BPY_OBJ - the object to clean up.
  • shaderfx - the name of the effect to remove. Case-sensitive, and it has to exist on the object.
  • report - a boolean, default false. This one's the oddity: when enabled it asks Blender to report what it did. In practice, for most workflows, you can leave it off; it's the operator's built-in feedback flag.

Output is one BPY_OBJ, unchanged.

Install

Standard Avatar Graph install - one repo covers every node in this pack. ComfyUI Manager: search Avatar Graph, install, restart. Manual:

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

Two setup realities to know up front: the pack pins bpy==3.6.0, which effectively demands Python 3.10 (the README suggests a conda env), and first launch downloads the ~2.5 GB SAM checkpoint plus MediaPipe face/pose landmarkers before the pack finishes loading.

Common issues

The name-mismatch no-op again: if shaderfx doesn't match an effect on the object, Blender logs a warning and nothing changes. And because these nodes mutate the one shared embedded Blender scene, removal persists across queue runs - if you remove an effect in one run, it's gone on the next run too unless something re-adds it. That's usually fine (build-once rig setup) but it's the kind of accumulated state that makes a workflow behave differently the second time you run it. When debugging, remember you're not re-running from a clean slate.

Categoryblender

Inputs (3)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
shaderfxoptSTRING
reportoptBOOLEANfalse

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ