Nodes/ComfyUI libigl/Remesh with Texture
ComfyUI Node

Remesh with Texture

Remesh without losing the paint job

By PozzettiAndrea·Created 10 months ago·Updated 4 days ago· 218
Remesh with Texture
  • trimesh
  • remeshed_mesh
  • baked_texture
  • info
methodblender
remesh_methodquadriflow
voxel_size0.05
target_face_count5000
bake_margin48

Normal remeshing throws away your texture. The mesh gets rebuilt, the UVs are gone, and your carefully painted color map is orphaned geometry. Remesh with Texture is the pack's answer to that: it remeshes a textured mesh and bakes the texture back onto the result, handing you a clean mesh plus a fresh IMAGE you can view or save. For scanned assets with baked detail, this is the difference between usable and useless.

How it works

The pipeline is two-stage. First it remeshes - the method defaults to blender and remesh_method to quadriflow, with voxel_size (0.001–1, default 0.05) and target_face_count (default 5000) as the resolution dials. Then it transfers the texture from the original mesh onto the new one using closest-point projection: for each new vertex it finds the nearest spot on the original surface, interpolates the UV coordinates there (barycentric interpolation over the original triangles), and samples the texture at that point to set the vertex color. bake_margin (0–128, default 48) controls how much padding goes around the baked islands.

Outputs: remeshed_mesh (TRIMESH, with vertex colors now baked in), baked_texture (an actual IMAGE you can preview or save), and an info string. That IMAGE output is the sleeper feature - you can inspect the baked texture like any other image in your graph.

The catch worth knowing

Texture transfer by closest-point projection works great when the remesh stays close to the original surface - which is exactly what quadriflow plus a sane face count gives you. Push the remesh too aggressive (huge voxel size, tiny target count) and closest points start landing in the wrong places, and you get smeared or swimming texture. The other requirement: the input mesh has to actually have a UV-mapped texture. No UVs, no material - the node will error out asking for them, so run UV Unwrap on a bare mesh before you get here.

Installing it

This one leans on Blender for the remesh stage, so you get the full pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/PozzettiAndrea/ComfyUI-GeometryPack.git
cd ComfyUI-GeometryPack
pip install -r requirements.txt --upgrade
python install.py

Or ComfyUI Manager → GeometryPack → Install, restart. The Blender environment is one of the big pixi downloads on first launch - be patient, it's a one-time cost.

Where people get burned

"The texture looks smeared" = your remesh drifted too far from the original. Lower the aggressiveness, raise the target count. "It says no visual data" = your input mesh has no UVs/texture; unwrap it first. And the eternal pack gotcha: multi-backend nodes in this pack have churned fast since the November 2025 release, so a workflow saved against an older version can fail validation with combo-value errors - update the pack and re-pick the method before debugging your mesh.

Categorygeompack/texture_remeshing

Inputs (6)

NameTypeDefaultDescription
trimeshTRIMESH
methodCOMBOblender2 options: blender, xatlas
remesh_methodCOMBOquadriflow2 options: voxel, quadriflow
voxel_sizeFLOAT0.050.001–1
target_face_countINT5000100–1000000
bake_marginINT480–128

Outputs (3)

NameTypeDescription
remeshed_meshTRIMESH
baked_textureIMAGE
infoSTRING