Nodes/Avatar Graph/Object Call Make Local
ComfyUI Node

Object Call Make Local

Object Call Make Local — ComfyUI Node from Avatar Graph

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Call Make Local
  • BPY_OBJ
  • BPY_OBJ
clear_proxytrue

This node ships inside Avatar Graph, Avatech AI's pack for building real-time interactive 2D avatars - think animated blinking eyes and lip sync - out of a single character portrait, using Blender's Python engine (bpy) as the mesh backend and Avatech's own "Shape Flow" runtime to drive it live. The README's showcase list only covers about eight nodes: Segmentation (SAM), Create Mesh Layer, Create Shape Flow, Avatar Main Output, and a few others. Object Call Make Local isn't one of them - it's from the large, undocumented ObjectCall_* family that mirrors Blender's bpy.types.Object API method-for-method, which reads like a code-generated dump of the whole class rather than a hand-picked set.

The Blender concept behind it: when you append or link data from another .blend file (a template, a shared asset library), the resulting object stays tied to that external library - you can't freely edit it. object.make_local(clear_proxy=True) severs that tie, converting a linked/library object into a fully local, independently editable one in your current file. clear_proxy (default True) additionally clears any proxy data Blender may have set up for the object during the linking process. It's a one-way operation - once local, always local for that object.

Where this might actually matter in an Avatar Graph pipeline: if a workflow template ships pre-built rig or mesh data linked in from a shared library file rather than authored fresh, Make Local is the step that detaches it so subsequent Object-Call nodes (shape key edits, mesh baking) can actually modify it. If your own workflow builds everything from scratch via the pack's own mesh-creation nodes, you likely never need this one.

Inputs from the schema: BPY_OBJ (optional per the schema, but pointless without one wired in from upstream) and clear_proxy, a plain BOOLEAN defaulting to true - the one input in this node that's a genuine, normal ComfyUI toggle rather than a code-gen placeholder type, so this is actually one of the easier ObjectCall_* nodes to configure. Output is BPY_OBJ, the same object handle passed through so you can keep chaining Object-Call nodes after it.

Installing it is installing the whole pack. Via ComfyUI Manager: search "Avatar Graph." 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 requirement that'll actually trip you up: bpy needs Python 3.10.x specifically, so the README's suggestion of a dedicated conda create --name comfyui python=3.10 environment rather than layering this onto an existing Flux/SDXL setup is worth following. Restart with --enable-cors-header (plus --force-fp16 on macOS) to enable the live avatar preview via Avatech's editor.

Troubleshooting: a Python-version mismatch causing bpy to fail on import is the most likely thing you'll actually run into - a genuinely common, recurring problem across any Blender-Python-based ComfyUI node, not specific to this one. Skipping --enable-cors-header doesn't break the graph - you can still export .glb/.gltf from Avatar Main Output - you just lose the live preview panel, by the pack's own design. There's no individual write-up for this node in the repo, so if the linked-vs-local distinction is confusing you, Blender's own docs on library linking and Object.make_local() are the real reference.

Categoryblender

Inputs (2)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
clear_proxyoptBOOLEANtrue

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ