ComfyUI Node

Load PLY

A file picker for your .ply splats, not a text box

By PozzettiAndrea·Created 4 months ago·Updated 7 days ago· 6
Load PLY
    • ply_path
    ply_file

    The most tedious part of working with gaussian splats in ComfyUI is that a PLY path is just a string, which means a lot of typing absolute paths into STRING widgets and getting them wrong. LoadPLY is the boring-but-welcome fix: a dropdown that lists the .ply files in ComfyUI's input/ folder, exactly like the native Load Image node does for pictures. Pick one, get the resolved absolute path out the other end.

    It's part of the GaussianPack family (GitHub repo ComfyUI-TurntableGSViewer, self-labeled "GaussianPack" in the code - the same author's 3D pack line). On its own it's a trivial node; inside a workflow it's the difference between editing file paths by hand and just clicking.

    How it works

    It mirrors ComfyUI's own LoadImage idiom. The dropdown is populated by scanning input/ for .ply files, and the selected name is resolved through folder_paths.get_annotated_filepath(), which transparently handles the [input]/... and [temp]/... path annotations ComfyUI uses. It also validates that the file exists and keys its cache on the file's mtime, so if you regenerate a PLY on disk, the node re-executes instead of silently serving the old path.

    Nice touch: the pack ships two sample scenes, apple.ply and compressed_room.ply, and a prestartup script copies them into your input/ folder on install (non-clobbering - if a file with that name already exists, yours wins). So the dropdown isn't empty on a fresh install.

    Inputs and output

    • ply_file - the dropdown of .ply files found in input/.

    The single output, ply_path, is the absolute path to the selected file as a STRING. That wires straight into any of this pack's viewers, GaussianMerge, GaussianExport, TransformGaussian, or anything else that eats a PLY path.

    One habit worth learning early: if the PLY was produced upstream in the same workflow - say by a merge node - don't bounce it through this file picker. Wire the path STRING directly from the producing node to the consumer. LoadPLY is for files that exist on disk before the workflow runs: downloads, prior training runs, shared scenes.

    Installing it

    cd ComfyUI/custom_nodes
    git clone https://github.com/PozzettiAndrea/ComfyUI-TurntableGSViewer.git
    cd ComfyUI-TurntableGSViewer
    pip install -r requirements.txt --upgrade
    python install.py
    

    Restart ComfyUI. Or ComfyUI Manager → search "GaussianPack". The pack's requirements include the experimental comfy-env installer (it fetches the pixi package manager on first install) plus plyfile and a NanoGS git dependency. No model weights to download.

    Gotchas

    If the dropdown is empty, drop your .ply files into ComfyUI/input/ and reload the page. And because ComfyUI's frontend has no per-widget refresh for generic dropdowns, files added after the page loaded won't appear until you hit Ctrl/Cmd+R. The pack's other picker, LoadPLYOutput, covers the output/ folder with the same trick - use that one for splats your workflow just generated.

    Categoryviewer

    Inputs (1)

    NameTypeDefaultDescription
    ply_fileCOMBOPick a .ply file from ComfyUI's input/ folder.

    Outputs (1)

    NameTypeDescription
    ply_pathSTRING