Nodes/Avatar Graph/Object Call Crazyspace Eval Clear
ComfyUI Node

Object Call Crazyspace Eval Clear

Freeing the deformed-mesh cache when you're done

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Call Crazyspace Eval Clear
  • BPY_OBJ
  • BPY_OBJ

The cleanup half of the crazyspace pair in Avatar Graph (avatechai/avatar-graph-comfyui). The pack's actual feature - rigging a still character portrait into a live, blinking, lip-syncing 2D avatar - never touches this node. It exists as part of the pack's auto-generated wrapper around Blender's bpy.types.Object API, here specifically to undo what ObjectCall_CrazyspaceEval set up.

How it works

It maps to Object.crazyspace_eval_clear(), documented plainly as "clear the crazyspace transformation cache." Blender's crazyspace system caches the transform data needed to translate a mesh vertex between its deformed (post-modifier/shape-key) position and its original, undeformed position. That cache has to be built with ObjectCall_CrazyspaceEval before you can query it (with ObjectCall_CrazyspaceDisplacementToOriginal), and Blender's own docs are explicit that it should be freed afterward - this is that free.

Why you'd reach for it

Hygiene, plain and simple. If you called ObjectCall_CrazyspaceEval to set up a custom deformation query, this is the matching call to release that cache once you've read what you needed from it. It has no purpose on its own without that pairing.

Inputs and outputs

Just one optional BPY_OBJ input, one BPY_OBJ output - no additional parameters at all, since freeing a cache doesn't need any. The object comes back unchanged; this call is pure side effect.

Installing it

Avatar Graph depends on Blender's bpy module, which is strict about Python version - this is a real install, not a one-click drop-in. On Windows, use the author's bundled Python 3.10 environment (linked in their README), unzipped into your ComfyUI folder and launched via the included .bat, then install "Avatar Graph" from ComfyUI Manager. On macOS/Linux, pin your ComfyUI environment to Python 3.10.x exactly - conda makes that easy (conda create --name comfyui python=3.10). Then cd ComfyUI/custom_nodes, git clone https://github.com/avatechai/avatar-graph-comfyui.git (their README's own manual-install command actually points at a stale org, avatechgg - the repo lives under avatechai). cd avatar-graph-comfyui && python -m pip install -r requirements.txt, then restart with python main.py --enable-cors-header (Mac: also --force-fp16). That flag opens CORS so the hosted viewer at editor.avatech.ai can talk to your local ComfyUI; skip it if you're exporting .glb/.gltf from Avatar Main Output instead.

Common issues

Python-version mismatch is still the recurring first blocker across this entire pack - bpy needs 3.10.x. Specific to this node: forgetting to call it after ObjectCall_CrazyspaceEval won't crash a single run, but if a workflow loops or batches many executions without restarting ComfyUI, an uncleaned Blender-side cache is a plausible, if hard-to-diagnose, source of creeping memory use over a long session - worth checking if a long-running batch job seems to slow down or bloat over time. As with the rest of this node family, it's undocumented by Avatech, so this description is grounded in Blender's own Object.crazyspace_eval_clear() API docs.

Categoryblender

Inputs (1)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ