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· 264
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