Nodes/Avatar Graph/Object Empty Add
ComfyUI Node

Object Empty Add

A plain anchor point for your Avatar Graph scene

By avatechai·Created 3 years ago·Updated 2 years ago· 266
Object Empty Add
  • BPY_OBJ
  • location
  • rotation
  • scale
  • BPY_OBJ
◄type▾►
◄radius1.00►
◄align▾►

Of everything in this batch, Object Empty Add is probably the most quietly useful one. An Empty in Blender is an object with no mesh, no render footprint - just a position, rotation, and scale you can point other things at. Parent anchor, pivot, constraint target: it's the plain scaffolding you reach for when you need "a place in 3D space" without needing anything visible there.

How it works

It wraps bpy.ops.object.empty_add(). The only thing that changes based on your type choice is which little icon represents the Empty in the viewport - plain axes, arrows, a circle, a cube, a sphere, a cone, or an image placeholder. None of that changes behavior; it's purely a viewport-navigation aid so you can tell your Empties apart at a glance.

In an avatar-rigging context, this is the kind of node you reach for as connective tissue - a parent object to group several mesh-layer parts under so they move together, or a target for a constraint elsewhere in the pack - rather than something with a documented role of its own in the README's blink-and-lipsync pipeline.

The inputs and outputs that matter

  • type (enum) - PLAIN_AXES, ARROWS, SINGLE_ARROW, CIRCLE, CUBE, SPHERE, CONE, IMAGE. Purely cosmetic in the viewport.
  • radius (float, default 1) - display size.
  • align (enum: WORLD, VIEW, CURSOR) - orientation on creation.
  • location / rotation / scale - starting transform, the fields you'll actually touch to place it where you need it.

Output: a single BPY_OBJ, the new Empty.

One thing worth flagging: picking IMAGE as the type doesn't, by itself, load an image - it just picks the display style. If you want an Empty that actually shows a picture, Object_DropNamedImage or Object_LoadReferenceImage are the nodes that load real image data onto one.

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, and nothing else works. Windows gets a prebuilt Python-3.10 ComfyUI zip from the README; macOS/Linux should use a dedicated conda create --name comfyui python=3.10 environment. Restart with --enable-cors-header (plus --force-fp16 on Mac) for the live avatar preview to reach editor.avatech.ai; without it, everything still works, you just export .glb/.gltf.

Common issues & troubleshooting

Nodes not loading traces to the Python-version pin - check ComfyUI's startup console for a bpy import error first.

Set type to IMAGE and nothing shows up - as above, that's expected: this node only sets display style, not image data. Follow it with an image-loading node if you actually want a picture attached.

Empty seems to have no effect on the rig - also expected, and not a bug. An Empty on its own is inert; it only matters once something else - a parent relationship, a constraint, a driver - actually references it. If you added one and nothing changed, the wiring to make it useful happens in whatever node comes next, not here.

Categoryblender

Inputs (7)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ—
typeoptCOMBO8 options: PLAIN_AXES, ARROWS, SINGLE_ARROW, CIRCLE, CUBE, SPHERE, +2
radiusoptFLOAT1.000–999999995904—
alignoptCOMBO3 options: WORLD, VIEW, CURSOR
locationoptB_VECTOR3—
rotationoptB_VECTOR3—
scaleoptB_VECTOR3—

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ—