Nodes/Avatar Graph/Object Call Select Get
ComfyUI Node

Object Call Select Get

Object Call Select Get — ComfyUI Node from Avatar Graph

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Call Select Get
  • BPY_OBJ
  • BPY_OBJ

This node comes from Avatar Graph, Avatech AI's pack for building real-time interactive 2D avatars from a single character portrait - animated blinking, lip sync, driven by Blender's Python engine (bpy) plus Avatech's own "Shape Flow" runtime for live shape-key control. The README's own node table sticks to a short list of headliners - Create Mesh Layer, Create Shape Flow, Avatar Main Output - and Object Call Select Get isn't one of them. It's from the large ObjectCall_* family that mirrors Blender's bpy.types.Object API roughly one node per method, generated rather than curated, with no individual description anywhere in the pack.

The mechanism is object.select_get(view_layer=None) - Blender's check for whether an object is currently selected in the given view layer (or the active one if you don't specify). Selection in Blender is UI/scene state, separate from anything about the object's geometry: it's what lights up highlighted in the 3D viewport and what most interactive operators act on. This matters in scripted pipelines because a lot of Blender's own operators - the kind you'd call to move, duplicate, or transform things - only touch objects that are currently selected, so knowing (or setting, via the sibling Select Set node) selection state is sometimes a prerequisite step before calling something else.

Schema is minimal: just BPY_OBJ in - optional per the schema, though there's nothing to check without one wired in from upstream - and BPY_OBJ out, the same object handle passed straight through rather than the boolean the underlying Blender call actually returns. No view_layer parameter is exposed here (the node defaults to whatever Blender resolves as active), which makes this one of the simpler nodes in the family to reason about, even if it doesn't hand you the selection state directly in the graph.

Installing it means installing Avatar Graph as a whole. Via ComfyUI Manager: search "Avatar Graph" and install. Manually: cd ComfyUI/custom_nodes && git clone https://github.com/avatechai/avatar-graph-comfyui, then cd avatar-graph-comfyui && pip install -r requirements.txt, restart ComfyUI. The requirement worth planning around: bpy needs Python 3.10.x exactly, so the README's push toward a dedicated conda create --name comfyui python=3.10 env instead of reusing an existing Flux/SDXL setup is worth taking seriously. Restart with --enable-cors-header (--force-fp16 on macOS too) so the live avatar preview through Avatech's editor works.

Troubleshooting: the failure you're actually likely to hit is bpy refusing to import at ComfyUI startup because the Python version isn't exactly 3.10.x - a genuinely common, recurring problem across Blender-Python-based ComfyUI nodes broadly, this pack included. Forgetting --enable-cors-header doesn't break execution; the graph still runs and you can still export a .glb/.gltf off Avatar Main Output, you just lose the live preview panel by design. This node itself has almost no failure surface of its own - it's a read-only state check - so if your graph is behaving oddly around it, the more useful thing to check is whether the upstream node actually selected the object you expect, via its sibling Select Set node, before this one runs.

Categoryblender

Inputs (1)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ