Nodes/Avatar Graph/Object Set Empty Display Type
ComfyUI Node

Object Set Empty Display Type

Changing how an Empty draws in the viewport

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Set Empty Display Type
  • BPY_OBJ
  • BPY_OBJ
valueARROWS

The ObjectSet_ prefix (as opposed to Object_ or ObjectCall_) marks a small family of nodes in this pack that set a plain Blender object property rather than run an operator or call a method. Object Set Empty Display Type sets object.empty_display_type - the setting that controls how an Empty object (a Blender object with no actual geometry, used purely as a reference point, target, or anchor) is drawn in the viewport.

How it works

Empties are invisible in a render by default - they're organizational tools, not visible geometry. What does change is which icon represents them in the 3D viewport: arrows, a plain axis cross, a circle, a cube, a sphere, a cone, or an image reference. If your Avatar Graph rig uses Empties as targets - an eye-look-at anchor, a hair-curves attachment point, a constraint target - this node is purely about making that Empty easier to identify and work with visually while you're building the graph, not about anything functional.

The inputs and outputs that matter

  • value - the display type to set, as a string (default ARROWS). Blender's valid options for this property are PLAIN_AXES, ARROWS, SINGLE_ARROW, CIRCLE, CUBE, SPHERE, CONE, and IMAGE. Note this field is typed as a plain string in the node's schema rather than a dropdown, so you'll need to type one of those exact values yourself rather than pick from a list.

Output is the same BPY_OBJ, display type updated.

How to install it

ComfyUI Manager - search "Avatar Graph" and install - or manually: cd ComfyUI/custom_nodes && git clone https://github.com/avatechai/avatar-graph-comfyui, cd avatar-graph-comfyui && pip install -r requirements.txt, restart. Needs Python 3.10.x, the hard requirement for bpy across the whole pack - a newer Python environment either fails this install or leaves the blender-category nodes unavailable. macOS/Linux: dedicated conda env at 3.10. Windows: Avatech's prebuilt Python-3.10 ComfyUI zip, pack installed via Manager afterward.

Common issues & troubleshooting

Typo'd the value and nothing visibly changes. Since value is a free-text string rather than a validated dropdown, typing Arrows or arrow instead of the exact ARROWS Blender expects can silently fail to apply or throw an error depending on how strictly the underlying property setter validates - double-check you're using Blender's exact, all-caps enum identifier.

Running this on a non-Empty object does nothing useful. empty_display_type only means anything for Empty objects - setting it on a mesh, curve, or any other object type either has no visible effect or isn't a meaningful property to be setting in the first place.

Doesn't affect the exported avatar. This is purely a Blender-viewport display setting for your own convenience while building the rig - it has no bearing on the .glb/.gltf export or Shape Flow's runtime behavior, so don't chase a rendering/export bug here.

Not in the README. Correct - it's one of the pack's lower-level blender-category nodes generated from Blender's own object properties via generate_blender_types.py, not one of the roughly seven higher-level nodes the README documents by hand.

Categoryblender

Inputs (2)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
valueoptSTRINGARROWS

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ