Nodes/ComfyUI libigl/Smooth HC Laplacian (backend)
ComfyUI Node

Smooth HC Laplacian (backend)

Zero knobs, fixed shrinkage, just smooth

By PozzettiAndrea·Created 10 months ago·Updated 4 days ago· 218
Smooth HC Laplacian (backend)
  • trimesh
  • smoothed_mesh
  • info

Most smoothing nodes make you think: how many iterations, which weights, what's the stability condition. Smooth HC Laplacian asks nothing of you. One input - the mesh - and it smooths. No slider, no combo, no way to mis-tune it. For a beginner who just wants the bumps gone, that's genuinely the feature.

It's the hc_laplacian backend in the Smooth Mesh dropdown, or searchable directly as "Smooth HC Laplacian (backend)". HC stands for Humphrey's Classes, the algorithm from a 1999 paper (Vollmer et al.) that's been quietly fixing mesh smoothing ever since.

How it works

HC is a fix layered on top of the Laplacian approach. Plain Laplacian smoothing moves each vertex toward its neighbors, which removes noise but also shrinks the mesh and rounds off corners. HC does the same smoothing passes, but after each pass it tracks how far every vertex got displaced, then nudges the vertices back toward their original positions by a fraction of that displacement. The result: the noise still averages out, but the overall shape and volume are largely preserved - no shrinkage, no ballooning.

Because the correction is built into the algorithm, there's nothing to tune. It's the "just smooth it" button of this pack: feed it a noisy mesh, get a cleaner one, move on.

Inputs and outputs

Input is trimesh - that's the entire parameter list. Outputs are smoothed_mesh (TRIMESH) and info (STRING) with whatever diagnostics the backend printed.

Where it fits

If you're asking "which smoother should I use," the practical split is: Laplacian if the mesh is going to be remeshed anyway (shrinkage doesn't matter), Taubin if you want the same anti-shrink behavior with explicit strength control, and HC Laplacian when you want anti-shrink smoothing with no decision to make. The one thing HC won't do is sharpen anything back up afterward - if your smooth makes edges too soft, that's what the pack's Sharpen Mesh node is for.

Install is the pack standard: ComfyUI Manager search "GeometryPack", or git clone https://github.com/PozzettiAndrea/ComfyUI-GeometryPack into custom_nodes/, then pip install -r requirements.txt --upgrade and python install.py, then restart. First run uses the experimental comfy-env/pixi installer and can take a while - give it time. It's a young, GPL-3.0 pack, actively developed and open to bug reports, which is the good kind of problem to have.

Categorygeompack/smoothing

Inputs (1)

NameTypeDefaultDescription
trimeshTRIMESH

Outputs (2)

NameTypeDescription
smoothed_meshTRIMESH
infoSTRING