Nodes/Avatar Graph/Object Constraints Clear
ComfyUI Node

Object Constraints Clear

Stripping every constraint off an object in one step

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Constraints Clear
  • BPY_OBJ
  • BPY_OBJ

Simple, blunt, occasionally exactly what you need: Object Constraints Clear wraps bpy.ops.object.constraints_clear, which removes every constraint on an object - Copy Location, Track To, Child Of, all of them - in one call. No picking constraints individually, no partial clear. Everything, gone.

How it works

Blender constraints let one object's transform follow, track, or limit itself based on another (a common rigging move: an eye Empty that "Track To"s a target, a mouth bone constrained to a control). Constraints are also exactly the kind of thing that accumulates unintentionally when a graph builds objects programmatically - a leftover Copy Location from an earlier step, a Track To that no longer points at anything meaningful once the graph reorganizes its objects. This node is the reset button: strip everything back to a plain, unconstrained transform before adding whatever the graph actually wants next.

The inputs and outputs that matter

Just the object:

  • BPY_OBJ - the object to strip constraints from.

No other settings - this operator doesn't take arguments beyond the object itself, so there's nothing to configure. Output is the same BPY_OBJ, now constraint-free.

How to install it

ComfyUI Manager, search "Avatar Graph" and install - or manually: cd ComfyUI/custom_nodes && git clone https://github.com/avatechai/avatar-graph-comfyui, cd avatar-graph-comfyui && pip install -r requirements.txt, restart. Avatar Graph is built on bpy, which pins the whole pack to Python 3.10.x - a newer ComfyUI environment (3.11/3.12, which most fresh installs default to) either fails this install or leaves the blender-category nodes missing entirely. macOS/Linux: dedicated conda env at 3.10. Windows: Avatech's prebuilt Python-3.10 ComfyUI zip, then install the pack through Manager.

Common issues & troubleshooting

You cleared a constraint you actually needed. There's no selective option here - it's all-or-nothing by design. If part of your rig depends on a constraint staying in place (an eye tracking a target, say), don't route that object through this node; it's meant for resetting an object before re-building its constraint stack from scratch, not for cleanup on an object you're keeping intact.

Nothing seems to change. If the object never had any constraints to begin with, this is a no-op - correct, expected behavior, not a bug. Check the object's constraint stack in Blender or the pack's live preview before assuming the node failed.

Not documented in the pack's README. Correct, and true of the whole blender-category node set: the README's own table covers roughly seven higher-level Avatech-built nodes (Create Mesh Layer, Join Meshes, Create Shape Flow, and a handful of others); this is one of the lower-level operator wrappers generated directly from Blender's operator registry via the pack's own generate_blender_types.py script. For anything this page doesn't cover, Blender's manual entry for "Clear Object Constraints" is the real reference.

Categoryblender

Inputs (1)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ