ComfyUI Node

ply_load

Get your Gaussian-splat and point-cloud PLY files into the graph

By 807502278·Created 2 years ago·Updated 2 years ago· 23
ply_load
    • gs_ply
    path

    ply_load is the point-cloud entry point of ComfyUI-3D-MeshTool. It reads a .ply file and hands you a GS_PLY - the Gaussian-splatting-style point cloud type shared with ComfyUI-3D-Pack. If your pipeline starts from a scanned point cloud, an exported Gaussian splat, or anything out of CloudCompare, this is where it enters the graph.

    The README is explicit about the intended audience: the PLY point clouds that industrial software exports. The author tested the import with CloudCompare, so if you've got a dense scan in the standard x y z red green blue PLY layout, this is the loader that understands it. It sits right next to ply_normalize, which is what you'll run after loading to map those industrial colors into something a splatting pipeline can use.

    How it works

    The node takes a single path string and validates it before doing anything: the path must be non-empty, point at an actual file, and end in .ply. If all three hold, it calls PlyData.read(path) from the plyfile library and returns the parsed structure. If any check fails, it prints an error to the console and returns an empty PLY object instead of crashing - which means a bad path won't kill your workflow, it just silently gives you nothing useful downstream.

    Note the path handling: unlike Load_OBJ, there's no joining against ComfyUI's input folder. Give it an absolute path, or a relative one that resolves from wherever ComfyUI is running.

    Output

    • gs_ply (GS_PLY) - the parsed PLY data.

    From here it feeds ply_normalize (to fix coordinates/colors for ComfyUI), or a save node once you've processed it.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/807502278/ComfyUI-3D-MeshTool
    cd ComfyUI-3D-MeshTool
    pip install -r requirements.txt
    

    Restart ComfyUI. ComfyUI Manager has it too (search "ComfyUI-3D-MeshTool"). The PLY reading is done by plyfile, which is in the pack's requirements - no model downloads, no heavy GPU deps beyond what kiui already pulls in.

    Common issues

    The failure mode to know: a bad or wrong-extension path doesn't raise, it just returns an empty cloud and a console line. If you're getting nothing downstream, the console is where the story is - check that the path is absolute, exists, and really ends in .ply. Case matters for the extension check (os.path.splitext), so .PLY from some Windows tools won't pass. And a PLY that loads fine but shows nothing after ply_normalize usually means it lacked red/green/blue or x/y/z in its vertex data - the normalize node prints a warning for each missing channel rather than failing, so watch those warnings.

    Category3D_MeshTool/Basics

    Inputs (1)

    NameTypeDefaultDescription
    pathSTRING

    Outputs (1)

    NameTypeDescription
    gs_plyGS_PLY