🔷 Load 3D Model (RDAWG+Open3D)
Load a real 3D file into ComfyUI — not an AI model, an .obj
- mesh
- info
Most "Load Model" nodes in ComfyUI expect a checkpoint or a LoRA. This one expects an .obj. That's the first thing to get straight: RDAWG3DLoadModel reads 3D geometry files (OBJ, STL, PLY, GLTF) and turns them into a mesh that the rest of the RDAWG 3D Pack can process. It's the front door of the whole pack, and the author is unusually explicit about it - the README devotes a whole section to "3D Models vs AI Models" because people keep dragging in .safetensors and getting nowhere.
It's an obscure pack (basically zero community footprint yet), so let me be honest about the deal: this is a small geometry toolbox, not a TripoSR-style image-to-3D generator. What you get is a reliable, GPU-flavored way to get a real mesh into your graph, transform it, analyze it, and render it back out as an image that normal ComfyUI nodes can use.
How it works
The node calls Open3D's read_triangle_mesh() on your file path, then copies the vertices, faces, and normals into torch tensors that ride along with the Open3D mesh object. If you leave normalize on (it's on by default), it centers the mesh on the origin and scales it into a unit sphere - meaning whatever you load comes out roughly the same size as everything else. That's genuinely useful when you're mixing objects in one scene, and it's why the transform nodes downstream behave predictably.
The info output is your friend here: it returns a plain string with vertex/face counts and the device the mesh landed on. Wire it to a Text node (or just a preview) and you can sanity-check what actually loaded.
The inputs that matter
- file_path - the one you actually set. An absolute or ComfyUI-relative path to your
.obj,.stl,.ply, or.gltf. Don't point it at a model folder; it wants a file. - normalize - keep it on unless you have a reason not to.
- device -
autois right; it picks CUDA when available and falls back to CPU. - load_texture - in the schema, but the current code reads whatever's in the file regardless, so don't overthink it.
Outputs: mesh (the MESH object everything else in the pack consumes) and info (STRING, the load report).
Install and dependencies
Install the pack through 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
The catch: Open3D 0.19.0+ is a hard requirement. The pack refuses to import without it, so if ComfyUI throws at startup, that's your culprit. On Windows, python download_open3d.py grabs a matching wheel; Python 3.11 is the author's recommended version because it has the best Open3D wheel coverage. The installer also tries to pin torch 2.9.0+cu128, which is worth being careful about - if your ComfyUI already works, don't let a fresh install clobber its PyTorch.
Where people get burned
- Missing Open3D → pack won't load at all.
pip install open3d>=0.19.0fixes it. - Wrong file type → you gave it a checkpoint path and it can't find the file. Use the built-in test objects (
python create_test_models.pyin the pack folder generatestest_cube.obj,test_sphere.obj,test_pyramid.obj) to confirm the pipeline before hunting for models. - The mesh looks wrong downstream → check
normalize. A non-normalized scanned model can be centimeters or kilometers, and every analysis node downstream will report nonsense until you fix the scale.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| file_path | STRING | — | |
| load_texture | BOOLEAN | true | — |
| normalize | BOOLEAN | true | — |
| device | COMBO | auto | 3 options: auto, cpu, cuda |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| mesh | MESH | — |
| info | STRING | — |