๐ท Mesh to Point Cloud (RDAWG)
Shatter a mesh into points โ the fastest way into point-cloud town
- mesh
- point_cloud
- info
Point clouds are how a lot of the interesting 3D work starts - photogrammetry, LiDAR, depth-map conversions all land as point clouds. But most ComfyUI 3D pipelines start with a mesh. RDAWG3DMeshToPointCloud is the conversion node that bridges them: it samples points off the surface of a mesh and hands you a POINT_CLOUD that the rest of the pack's point-cloud nodes can chew on.
You'd reach for it when you want to run point-cloud operations (downsampling, outlier removal, reconstruction) on geometry you got from a file, or when you want a point-based representation for downstream analysis. It's also the natural way to build the "sample the surface โ reconstruct" round-trip that's handy for testing.
How it works
The node uses Open3D's surface sampling: sample_points_uniformly() picks points across the mesh surface weighted by triangle area, and sample_points_poisson_disk() does the same but with the Poisson-disk guarantee of even spacing - nicer if you want uniform density without clusters. Then, if you ask, it estimates normals for the sample.
Outputs are a POINT_CLOUD (with points, optional normals, optional colors) plus an info string reporting the method, point count, and whether normals/colors survived.
The inputs that matter
- num_points - how many points to sample, default 10,000, up to 100,000. Bigger is denser and slower.
- method -
uniformorpoisson. Poisson looks more even; uniform is faster. - include_normals - on by default; keep it on unless you know you don't need them, because the reconstruction node downstream needs normals.
- include_colors - off by default. Turn it on if the source mesh has vertex colors you want to keep in the cloud.
Outputs: point_cloud (POINT_CLOUD) and info (STRING).
Typical flow: Load Model โ Mesh to Point Cloud โ Downsample โ Remove Outliers โ Point Cloud to Mesh. It sounds silly to go meshโpointsโmesh, but it's a real cleanup technique: sample, strip noise, rebuild with Poisson.
Install
Part of the RDAWG 3D Pack - install once, all 19 nodes appear. ComfyUI Manager (search "RDAWG 3D Pack (CUDA 12.8 + PyTorch 2.9.0)") or manual:
cd ComfyUI/custom_nodes
git clone https://github.com/rdawgemfl/rdawg_3D_pack
cd rdawg_3D_pack
python install.py
The pack hard-requires Open3D 0.19.0+ at import - no Open3D, no nodes. pip install open3d>=0.19.0 if it's missing, and use python download_open3d.py on Windows for a matching wheel. Python 3.11 recommended. The installer pins torch 2.9.0+cu128, so if ComfyUI already works on your machine, don't blindly accept a torch reinstall.
Where people get burned
- Downstream reconstruction fails - you turned
include_normalsoff and Poisson reconstruction needs normals. Keep them on. - The cloud is too sparse - 10,000 points on a detailed model can look empty. Raise
num_points. - Colors vanished -
include_colorsdefaults to false. If the source mesh has vertex colors, flip it on before sampling.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| mesh | MESH | โ | |
| num_points | INT | 10000100โ100000 | โ |
| include_normals | BOOLEAN | true | โ |
| include_colors | BOOLEAN | false | โ |
| method | COMBO | uniform | 2 options: uniform, poisson |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| point_cloud | POINT_CLOUD | โ |
| info | STRING | โ |