Object Quadriflow Remesh
Clean quad topology for Avatar Graph meshes
- BPY_OBJ
- BPY_OBJ
This is the pack's second remesh option, and it exists for a different reason than Object Voxel Remesh. Voxel remeshing gives you a clean, uniformly-dense surface fast, but it doesn't care about producing nice, animation-friendly geometry - it just fills space. Object Quadriflow Remesh does the opposite trade: it's slower and more deliberate, but it rebuilds the mesh into clean quad-based topology, the kind that deforms predictably under shape keys and rigging rather than fighting you the way dense triangle soup does.
How it works
It's a direct wrap of Blender's Quadriflow Remesh operator. Where voxel remeshing is governed by a single voxel-size setting, quadriflow gives you an explicit target for how dense the result should be, specified one of three ways depending on mode: as a ratio of the current face count, as a target edge length, or as a straight target face count. Because it's solving for genuinely quad-aligned flow across the surface (not just filling a grid), it's more computationally expensive than voxel remesh and can take noticeably longer on complex geometry - worth knowing before you drop it into a graph you're iterating on quickly.
The inputs and outputs that matter
BPY_OBJ- the object to remesh.mode-RATIO,EDGE, orFACES. This decides which of the three target settings below actually applies.target_ratio(default1),target_edge_length(default0.1),target_faces(default4000) - only one of these matters at a time, depending onmode.target_facesis the most intuitive starting point if you just want "roughly this many faces" without thinking in ratios or edge lengths.use_mesh_symmetry(defaulttrue) - preserves left/right symmetry in the result, which matters a lot for a character face or avatar part where an asymmetric remesh would look obviously wrong.use_preserve_sharpanduse_preserve_boundary- keep hard edges and mesh boundaries intact through the remesh rather than letting them get smoothed away, useful if your mesh has deliberate hard edges (like the border of a cut-out layer).
Output is a single BPY_OBJ, the remeshed object with clean quad topology.
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
then pip install -r requirements.txt and restart. Needs Blender's bpy module, pinned to Python 3.10.x - a dedicated conda environment on macOS/Linux, or Avatech's prebuilt Python-3.10 ComfyUI zip on Windows with the pack installed through Manager afterward.
Common issues & troubleshooting
If the node won't load, that's the pack's Python-version pin - check ComfyUI's startup console for an import error and confirm a clean Python 3.10.x environment with requirements.txt installed.
If the remesh is much slower than you expected (or seems to hang), that's consistent with quadriflow's own known trade-off, not a bug specific to this node - it's a genuinely more expensive algorithm than voxel remeshing, and a high target_faces count on complex input geometry can take a while. If you're iterating quickly on a graph and don't need clean quads yet, Object Voxel Remesh is the faster node to prototype with; switch to this one once you're closer to a final mesh.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| use_mesh_symmetryopt | BOOLEAN | true | — |
| use_preserve_sharpopt | BOOLEAN | false | — |
| use_preserve_boundaryopt | BOOLEAN | false | — |
| preserve_paint_maskopt | BOOLEAN | false | — |
| smooth_normalsopt | BOOLEAN | false | — |
| modeopt | COMBO | 3 options: RATIO, EDGE, FACES | |
| target_ratioopt | FLOAT | 1.000–3.402823466385289e+38 | — |
| target_edge_lengthopt | FLOAT | 0.101.000000011686097e-7–3.402823466385289e+38 | — |
| target_facesopt | INT | 40001–2147483647 | — |
| mesh_areaopt | FLOAT | -1.00-3.402823466385289e+38–3.402823466385289e+38 | — |
| seedopt | INT | 00–2147483647 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |