๐ท Remesh Uniform (RDAWG)
Even out a mesh's edge lengths โ the quality-of-life remesh
- mesh
- remeshed_mesh
- info
Most meshes are built badly for what you're doing with them. A triangulated CAD export or a decimated scan can have edges ranging from microscopic to enormous in the same object, and that unevenness makes downstream math (and rendering) ugly and unstable. RDAWG3DRemeshUniform is the pack's attempt at fixing that: it pushes a mesh toward one uniform target edge length, subdividing where edges are too long and collapsing where they're too short.
You'd reach for it when a mesh needs to be regular - before analysis that assumes even sampling, before rendering where you want consistent detail, or as a preprocessing step for operations that behave better on uniform meshes.
How it works
The node measures the current average edge length of the mesh, then compares it to your target_edge_length:
- If edges are much longer than the target, it runs Loop subdivision - splitting triangles so edges get shorter - up to three passes.
- If edges are much shorter than the target, it runs quadric decimation to merge triangles and lengthen edges.
So it's an adaptive subdivide-or-decimate pass that walks the mesh toward the edge length you asked for. One honest note about the current code: iterations is in the schema, but the remeshing logic itself runs a single subdivide-or-decimate pass - the field is there and currently doesn't loop the way you might expect. Plan on one pass and run the node twice if you need more correction.
The inputs that matter
- target_edge_length - the average edge length to aim for, 0.001โ1.0, default 0.01. The right value depends entirely on your model's scale - a unit-cube model and a building-sized model want very different numbers.
- iterations - accepted, but effectively single-pass in the current implementation.
Outputs: remeshed_mesh (MESH) and info (STRING) with original vs. new average edge length and triangle counts - that info output is the honest way to see how well the pass worked.
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+ required at import - no Open3D, no pack (pip install open3d>=0.19.0). Python 3.11 recommended. Mind the installer's torch 2.9.0+cu128 pin if you already have a working PyTorch.
Where people get burned
- Wrong units for target_edge_length - this is model-scale dependent, not "0.01 means good." Normalize your model first (the loader's
normalizedoes this) so the target is meaningful, then tune. - Expecting full control - this is a coarse, one-pass remesh, not a high-end iso-surface remesher. For production-grade uniform remeshing you'd reach for a dedicated tool; this node is for getting 80% there inside a ComfyUI graph.
- Detail collapse - a too-large target edge length decimates fine detail. Check the info output's triangle count before running it on a model you care about.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| mesh | MESH | โ | |
| target_edge_length | FLOAT | 0.0100.001โ1 | โ |
| iterations | INT | 101โ100 | โ |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| remeshed_mesh | MESH | โ |
| info | STRING | โ |