Nodes/Avatar Graph/Object Shaderfx Move Down
ComfyUI Node

Object Shaderfx Move Down

The other half of the reorder pair

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Shaderfx Move Down
  • BPY_OBJ
  • BPY_OBJ
shaderfx

If Object Shaderfx Move Up is the "nudge toward the top" button, this is its mirror image. Object Shaderfx Move Down wraps bpy.ops.object.shaderfx_move_down and shifts a named shader effect one slot toward the bottom of a Grease Pencil object's effect stack. Same job, opposite direction, zero surprises.

You'll use these two together more often than either alone. Say your Outline needs to sit above your Blur for the look you want - you add both, then move the Blur down so it doesn't smudge the line work. That's this node's whole reason to exist.

How it works

It's an auto-generated wrapper like every Object_* node in this pack. The pack scans Blender's operator list, creates a node class per bpy.ops.object.* entry, and registers them all under the blender category. At execution the embedded headless Blender makes your incoming BPY_OBJ the active object, runs the operator, and returns the same object - a clean pass-through so you can keep chaining nodes downstream.

The inputs that matter

Just two, and neither has hidden depth:

  • BPY_OBJ - the object holding the effect stack.
  • shaderfx - the name of the effect to move down, case-sensitive, and it must already exist on the object.

Output is the same BPY_OBJ you put in.

Install

Shared with the whole Avatar Graph pack - no separate install for this node. Via ComfyUI Manager, search Avatar Graph and install, or clone 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

The two real-world bumps: the pack pins bpy==3.6.0, which only has wheels for Python 3.10 (the README suggests a conda env), and the first import downloads the SAM ViT-H checkpoint (~2.5 GB) plus MediaPipe face/pose landmarkers before it finishes loading. Not a hang - a download.

Common issues

Same failure mode as its sibling: a wrong or missing effect name means the operator logs a warning and nothing visibly changes. And because the Blender scene is one shared in-memory instance that these nodes mutate in place, reordering persists across queue runs. If you're debugging a stack that looks wrong on the second run, remember the state from run one is still sitting there.

One honest note: for a basic eye-blink and lipsync avatar you will probably never touch the shader FX reorder nodes. They matter when your character carries layered toon effects - Glow on top of Rim, Outline fighting a Pixelate - and you need deterministic ordering. Good to know they exist, easy to ignore until you don't.

Categoryblender

Inputs (2)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
shaderfxoptSTRING

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ