Nodes/Avatar Graph/Object Multires Rebuild Subdiv
ComfyUI Node

Object Multires Rebuild Subdiv

Rebuild a Multires modifier's higher levels from the base

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

Object_MultiresRebuildSubdiv regenerates the higher subdivision levels of a Multires modifier from its base mesh. When the base mesh's topology changes - after you've applied, merged, or edited the base - the levels stacked on top can end up stale or corrupted. This node rebuilds them so everything above the base matches again.

When you need it

Blender's Multires keeps each subdivision level as cached geometry. If you modify the base mesh underneath (say you applied a base with Object_MultiresBaseApply, or joined geometry), the higher levels may not be consistent with the new base. Rebuilding recomputes the subdivision so the stack is coherent again. In the avatar pipeline that tends to come up after mesh layers get joined or reshaped and the detail levels don't line up anymore.

It's the generated wrapper for bpy.ops.object.multires_rebuild_subdiv() - one of the many operators Avatar Graph exposes because it generated the entire bpy.ops.object surface rather than hand-picking avatar-relevant ops.

How it works

Standard Object_* plumbing. Feed in a BPY_OBJ; the node sets it as the active object in the shared headless Blender scene, runs the operator, and returns the same object. The only other input is modifier, where you type the Multires modifier's exact name (Multires, Multires.001, whatever Blender named it).

The inputs

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

Output: the same BPY_OBJ.

Installing it

Comes with the whole pack:

  • 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

Heads up on the environment: bpy==3.6.0 is pinned and only runs on Python 3.10. On 3.11+ you get "no module named bpy" and the pack won't load. Windows: use the README's bundled ComfyUI_3.10.7z + run_nvidia_gpu_3.10.bat. Otherwise, conda with python=3.10. First boot also downloads the SAM and mediapipe models into models/sams.

Gotchas

  • Wrong modifier name = silent no-op. Exact string or nothing.
  • This only makes sense when the base actually changed. Running it on an untouched modifier is harmless but pointless.
  • Remember the shared scene resets each run, so the object must be created upstream in the same graph execution.
Categoryblender

Inputs (2)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
modifieroptSTRING

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ