Nodes/Avatar Graph/Object Multires Reshape
ComfyUI Node

Object Multires Reshape

Reshape a Multires object to match another mesh

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Multires Reshape
  • BPY_OBJ
  • BPY_OBJ
modifier

Object_MultiresReshape is the Blender Multires "reshape" operator, exposed as a node: it copies the current shape of one mesh onto a Multires object, letting you transfer a sculpted or edited shape into a multires stack. Wrapper for bpy.ops.object.multires_reshape().

What it's for

Multires reshape is a classic sculpting move. You've got a Multires object (base + levels), and you sculpt a new shape onto a different object or onto the base level, then reshape pulls that silhouette into the multires object at the current level. The result: your edited shape rides on top of the subdivision stack instead of being flattened by it.

In an avatar graph this is niche - you'd use it when a face or body layer was edited as a separate mesh and you want that shape pushed into the multi-level detail object. It's not a node beginners reach for in the first week, but it's the kind of thing that makes "keep base light, detail high" workflows possible.

How it works

Standard Object_* plumbing. You pass a BPY_OBJ, the node sets it active in the shared headless Blender scene, runs the operator, returns the same object. Only other input is modifier - the exact name of the target Multires modifier.

Here's the subtle bit: Blender's reshape needs a source mesh to copy from, but this node only hands over the one BPY_OBJ. So the source has to already be the active object's reference in the shared scene when this runs - in practice that means an upstream node must have set things up so the reshape source is in play. If nothing's selected as a source, the operator can error or do nothing useful. This is one of the fiddlier generated nodes, and the graph can't always express what Blender's operator assumed.

The inputs

  • BPY_OBJ (in/out) - the Multires object to reshape.
  • modifier - exact modifier name, plain text.

Output: the same BPY_OBJ.

Installing it

Same pack, same install:

  • ComfyUI Manager: search "Avatar Graph", install, restart.
  • Or:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui && python -m pip install -r requirements.txt

And the pack-wide gotcha that gets everyone: bpy==3.6.0 only supports Python 3.10. On newer versions it's "no module named bpy" and the pack won't even load. Windows: the README's bundled ComfyUI_3.10.7z and run_nvidia_gpu_3.10.bat. Elsewhere: conda, python=3.10.

Gotchas

  • Reshape needs a source shape present in the scene; if the result looks like nothing happened, that's the first thing to check.
  • Exact modifier name or silent no-op.
  • The scene resets each run, so everything has to be built in the same graph execution.
Categoryblender

Inputs (2)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
modifieroptSTRING

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ