Object Call Is Deform Modified
Object Call Is Deform Modified — ComfyUI Node from Avatar Graph
- BPY_OBJ
- scene
- settings
- BPY_OBJ
If you landed here searching this exact class name, you're not browsing Avatar Graph's greatest hits - you're deep in its plumbing. Avatar Graph (repo: avatar-graph-comfyui, by Avatech AI) is the pack that turns a single character portrait into a real-time interactive 2D avatar: blinking eyes, lip sync, the works, driven by Blender's own Python engine (bpy) running headless inside ComfyUI, plus Avatech's own "Shape Flow" runtime for wiring live inputs to shape-key values. The nodes the README actually shows off - Segmentation (SAM), Create Mesh Layer, Create Shape Flow, Avatar Main Output - are the ones you build a workflow with. Object Call Is Deform Modified isn't one of them. It's an auto-generated wrapper around one single method on Blender's bpy.types.Object class, part of a whole family of ObjectCall_* nodes that expose Blender's Object API more or less 1:1 as ComfyUI nodes.
Mechanically, this node calls object.is_deform_modified(scene, settings) on whatever Blender object you hand it. That Blender method answers one narrow question: does this object's evaluated geometry differ from its base mesh because of a deform-type modifier - Armature, Cast, Lattice, that family - currently active on it, given the current scene and evaluation settings ('PREVIEW' vs 'RENDER')? It's a check, not a mutation: useful if a downstream step in a rigging pipeline wants to skip expensive re-evaluation for objects that aren't actually being deformed by anything right now (a static prop next to an animated character, say).
Inputs, straight from the schema: BPY_OBJ (the object to test - technically optional, but the node does nothing useful without one wired in from upstream, e.g. a mesh-creation node earlier in your graph), scene, and a field literally typed " settings" - a code-gen artifact where the generator couldn't resolve Blender's 'PREVIEW'/'RENDER' enum into a normal ComfyUI dropdown, so it fell back to naming the type after the field. You won't get a widget for it; you wire it in from whatever upstream node in the pack produces that type. The output is just BPY_OBJ again - not the boolean result you might expect from a Blender "is" method. These call-nodes pass the same object handle straight through so you can chain more Object-Call nodes after it; the actual check result isn't something this node graph surfaces to you directly.
Installing it: this node lives inside the whole Avatar Graph pack, not standalone. Easiest path is ComfyUI Manager - search "Avatar Graph" or "avatar-graph-comfyui" 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 one requirement that actually bites: bpy is a hard pin to Python 3.10.x - the README recommends a dedicated conda env (conda create --name comfyui python=3.10) rather than reusing whatever env you've got for Flux/SDXL work, because a 3.11/3.12 interpreter simply won't resolve bpy. Restart with --enable-cors-header (add --force-fp16 too on macOS) so ComfyUI can talk to Avatech's live editor for the real-time preview panel.
Troubleshooting: if bpy fails to import at startup, check your Python version first - this is a genuinely common failure mode for any Blender-Python-based ComfyUI node, not just this pack, and it's almost always a version mismatch rather than a missing package. If you skip --enable-cors-header, the graph still runs fine and you can still export a .glb/.gltf from the Avatar Main Output node - you just lose the live preview panel, which is by design per the pack's own FAQ. And since this specific node has no individual documentation anywhere in the pack, when something about it confuses you, the fastest answer is Blender's own Object.is_deform_modified() reference - that's literally what's running under the hood.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| sceneopt | scene | — | |
| settingsopt | settings | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |