Nodes/Avatar Graph/Object Laplaciandeform Bind
ComfyUI Node

Object Laplaciandeform Bind

Binding the Laplacian deform — the cloth-and-detail-saver

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Laplaciandeform Bind
  • BPY_OBJ
  • BPY_OBJ
modifier

Laplacian Deform is Blender's "deform this mesh while preserving its fine detail" tool. The idea: you pin down a few anchor vertices, move them, and the mesh in between follows in a way that keeps the surface's local shape - the exact thing you want when deforming cloth, hair, or a character's face without destroying the sculpted detail. It's a favorite for costumes and flowing fabric.

Object_LaplaciandeformBind wraps the bind step of that process - bpy.ops.object.laplaciandeform_bind() - as a node in the Avatar Graph pack. In Blender's UI, the Laplacian Deform modifier has a "Bind" button you press after positioning your anchor groups. That bind is what lets the deformation actually happen; before you bind, moving the anchors does nothing useful.

How it works

The BPY_OBJ input sets the active object in the embedded scene and passes through unchanged. The node then runs the bind operator on the object's active Laplacian Deform modifier. Which modifier? The modifier input is a string naming it - the field is a plain STRING with a default of "", so you type the modifier's exact name (e.g. Laplacian Deform) when it isn't the active one.

The workflow that makes sense here, in order: add the Laplacian Deform modifier to the mesh, define its anchor vertex group (the pin points), position the target object, then run Bind. After binding, the anchors become usable deformation handles. If you've built an avatar with a skirt or scarf layer, this is how it gets its flow.

When you'd use it in an avatar graph

Fabric and hair are the honest use cases. Rigging a ponytail with hooks or weights is simple but stiff; Laplacian Deform gives you a soft, detail-preserving follow for cloth-like layers. The tradeoff is setup complexity - you need the modifier, an anchor group, and the bind, all staged in the right order in your graph, because the scene resets every run. That's a real graph to assemble, not a one-node magic trick.

Inputs and outputs

  • BPY_OBJ - the mesh with the Laplacian Deform modifier; returned unchanged.
  • modifier - the modifier's name (string). Empty string falls back to the active modifier.
  • BPY_OBJ output - pass-through.

Installing it

Part of Avatar Graph (avatechai/avatar-graph-comfyui). ComfyUI Manager: search "Avatar Graph". Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui && python -m pip install -r requirements.txt

Pack constraints apply: bpy==3.6.0 requires Python 3.10.x, and first launch auto-downloads the SAM ViT-H checkpoint (~2.5 GB) and MediaPipe models.

Common issues

"Bind errors" is the usual report, and the cause is almost always ordering: you can't bind before the modifier exists and has its anchor group set up. Blender's operator also complains if the modifier isn't the active one - the modifier string input is your fix there. And remember this is the bind, not the deformation itself: if nothing moves after binding, you still need to actually move the anchor objects. The README warns the pack is in active development, so treat the rough edges as expected.

Categoryblender

Inputs (2)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
modifieroptSTRING

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ