Nodes/RDAWG 3D Pack (CUDA 12.8 + PyTorch 2.9.0)/๐Ÿ”ท Smooth Mesh (RDAWG)
ComfyUI Node

๐Ÿ”ท Smooth Mesh (RDAWG)

De-facet a lumpy mesh without shrinking it to nothing

By rdawgemflยทCreated 11 months agoยทUpdated 11 months agoยท 0
๐Ÿ”ท Smooth Mesh (RDAWG)
  • mesh
  • smoothed_mesh
  • info
โ—„iterations1โ–บ
โ—„lambda_factor0.50โ–บ
โ—„methodtaubinโ–บ

Scanned meshes are noisy. Photogrammetry and laser scans come out with a surface like an orange peel - technically there, but covered in bumps that aren't part of the object. RDAWG3DSmoothMesh is the pack's answer: it averages out those bumps so you get a clean surface to render, remesh, or analyze. It's the standard first move after a reconstruction, and it's the mesh-processing node you'll actually use.

How it works

Two smoothing filters from Open3D:

  • taubin (default) - Taubin smoothing, a two-step pass that does one slightly-expanding smoothing followed by a contracting one. The magic: it reduces noise without shrinking the overall shape, which is the classic failure of plain Laplacian smoothing. This is the one to use on real geometry.
  • laplacian - plain Laplacian smoothing. Simpler and slightly stronger, but it pulls every vertex toward its neighbors' average, so the whole mesh shrinks with enough iterations. Fine for a subtle touch; dangerous if you crank it.

iterations controls how many passes run (default 1, up to 50), and lambda_factor scales how strongly each pass moves vertices (default 0.5). The node keeps vertex/face counts identical - smoothing doesn't add or remove triangles, it just repositions vertices.

The inputs that matter

  • method - taubin unless you have a specific reason.
  • iterations - start at 1โ€“3. More passes = smoother and slower.
  • lambda_factor - higher moves vertices more per pass. 0.5 is a sane default; push it up if one pass feels weak.

Outputs: smoothed_mesh (MESH) and info (STRING).

The classic sequence after a Poisson reconstruction: Smooth (kill the surface noise) โ†’ Simplify (bring the triangle count down to something sane) โ†’ render. Smoothing first, then simplifying, tends to give cleaner results than the reverse order.

Install

Part of the RDAWG 3D Pack. ComfyUI Manager (search "RDAWG 3D Pack (CUDA 12.8 + PyTorch 2.9.0)") or:

cd ComfyUI/custom_nodes
git clone https://github.com/rdawgemfl/rdawg_3D_pack
cd rdawg_3D_pack
python install.py

Open3D 0.19.0+ is a hard import-time requirement (pip install open3d>=0.19.0, or python download_open3d.py on Windows for a wheel). Python 3.11 recommended. Watch the installer's torch 2.9.0+cu128 pin - don't let it clobber a working PyTorch.

Where people get burned

  • The mesh shrank - you used Laplacian with several iterations. Taubin exists precisely to avoid this; switch methods.
  • Detail vanished - too many iterations smooths away real features (ears, creases, text). Iterate low and eyeball.
  • Sharp edges softened - expected from any smoothing. If the mesh has intentional hard edges, smooth with a tiny iteration count or skip and just simplify.
CategoryRDAWG 3D/Processing

Inputs (4)

NameTypeDefaultDescription
meshMESHโ€”
iterationsINT11โ€“50โ€”
lambda_factorFLOAT0.500.01โ€“2โ€”
methodCOMBOtaubin2 options: taubin, laplacian

Outputs (2)

NameTypeDescription
smoothed_meshMESHโ€”
infoSTRINGโ€”