Object Call Local View Get
Object Call Local View Get — ComfyUI Node from Avatar Graph
- BPY_OBJ
- viewport
- BPY_OBJ
Quick context before the node itself, because it explains why something this obscure exists: Avatar Graph (from Avatech AI) is a ComfyUI pack for turning a single character portrait into a real-time interactive 2D avatar - animated eye blinks, lip sync, driven by Blender's Python engine (bpy) running under the hood and Avatech's own "Shape Flow" runtime for live shape-key control. The pack's own README highlights maybe eight nodes you'd actually build a workflow around - Create Mesh Layer, Create Shape Flow, Avatar Main Output, and so on. Object Call Local View Get isn't one of them. It's part of a much larger, undocumented batch of ObjectCall_* nodes that expose Blender's bpy.types.Object API almost method-for-method, generated rather than hand-curated.
The Blender feature it wraps is "local view" - the isolate-selected mode you'd normally trigger with Numpad / in Blender's viewport, which hides everything except the objects you've isolated into that view. object.local_view_get(viewport) answers a single yes/no question: is this object currently visible within the local view of a given viewport (a 3D viewport space in Blender's UI/data model)? It's a read-only query - nothing about the scene changes when you call it. In an automated, headless pipeline like Avatar Graph's, local view itself is a UI concept more than a rendering one, so this node is the kind of thing that's present because it's part of the full Object API surface, not because most avatar-rigging workflows need it.
From the schema: inputs are BPY_OBJ (the object to check - optional by schema, functionally required, wire it in from an upstream mesh/object node) and viewport, whose type is literally named viewport - again supplied by wiring in a value from elsewhere in the graph rather than typing anything, since ComfyUI has no native "Blender viewport" widget. Output is BPY_OBJ, the same object handle passed through unchanged - like the rest of this node family, it's built for chaining more Object-Call nodes, not for surfacing the boolean result Blender's method actually returns.
Installing it: the whole pack, via ComfyUI Manager (search "Avatar Graph") or 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. The one hard constraint: bpy needs Python 3.10.x, so following the README's advice to build a dedicated conda create --name comfyui python=3.10 environment rather than bolting this onto an existing Flux/SDXL setup will save you a fight later. Restart with --enable-cors-header (--force-fp16 too on macOS) to let ComfyUI talk to Avatech's editor for the live avatar preview.
Troubleshooting: given that this specific node has no documentation anywhere in the repo and touches a UI-level Blender concept most people never script against directly, if it's not doing what you expect, the honest answer is to go read Blender's own Object.local_view_get() reference rather than expect anything Avatar-Graph-specific to explain it. The install-time failure you're far more likely to actually hit is a Python version mismatch - bpy refusing to import because ComfyUI is running on 3.11 or 3.12 instead of 3.10 is a recurring, well-known category of pain for any Blender-Python-based ComfyUI node, this pack included. And if you forgot --enable-cors-header, nothing is broken - your graph still executes and you can still export a .glb/.gltf from Avatar Main Output, you just won't see the live preview panel update in real time.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| viewportopt | viewport | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |