Object Constraints Clear
Stripping every constraint off an object in one step
- 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.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |