Nodes/ComfyUI PlyPreview/Load Gaussian PLY (Path) Enhance
ComfyUI Node

Load Gaussian PLY (Path) Enhance

Load Gaussian PLY (Path) Enhance — for when the dropdown can't find your file

By XuanYu-github·Created 9 months ago·Updated 9 months ago· 6
Load Gaussian PLY (Path) Enhance
    • ply_path
    • extrinsics
    • intrinsics
    ply_path
    fov_degrees50
    auto_resolutionenabled
    target_scale10
    image_width512
    image_height512
    enable_opacity_filterdisabled
    opacity_threshold0.10

    This is the sibling of Load Gaussian PLY Enhance, and the difference is one input: instead of a dropdown, you type (or paste) a path. Same pack, same camera math, same outputs - the escape hatch for every splat the dropdown can't see.

    Reach for it when:

    • Your .ply lives somewhere outside input/, input/3d/, and output/ - a scratch dir, a mounted drive, a temp folder.
    • You're building a reusable workflow template where the path gets swapped between runs.
    • You're tired of the "No PLY files found" dance and just want to point at a file directly.

    The ply_path input accepts an absolute path, or a path relative to ComfyUI's output/, input/, or input/3d/ folders - it checks each in that order. It strips surrounding quotes for you, which is a small kindness when you copy a path off Windows Explorer and it arrives wrapped in ". If the resolved path doesn't end in .ply, the node raises instead of silently doing nothing.

    Everything else is identical to the Load node, so the settings you'll actually touch are the same handful:

    • fov_degrees (10–180°, default 50) - horizontal FOV for the initial view.
    • auto_resolution (default enabled) - compute resolution from FOV + target_scale; disable it and image_width/image_height (default 512) define the intrinsics.
    • enable_opacity_filter + opacity_threshold (default 0.1) - drops Gaussians below the threshold and writes a filtered _opacity{threshold}.ply beside the source.

    Outputs are the standard trio: ply_path (STRING), extrinsics (4×4, identity by default), and intrinsics (3×3, built from FOV + resolution). Wire ply_path into Preview Gaussian Enhance and you're done.

    Install & gotchas

    It ships in the same pack, so the install is one command (or a ComfyUI Manager search for "comfyui-PlyPreview"):

    cd ComfyUI/custom_nodes
    git clone https://github.com/XuanYu-github/comfyui-PlyPreview.git
    

    Restart ComfyUI after. Dependencies are just numpy and plyfile - no CUDA, no compiled backends.

    Troubleshooting is mostly about typos, and the node is good about them: when it can't find a file, the error message lists every location it searched, which turns "why isn't this working" into a 2-second fix. Paths with spaces are fine thanks to the quote stripping. And the one gotcha that isn't a typo: if the preview iframe comes up blank, the viewer fetches through ComfyUI's /view endpoint for the output folder, so copy the splat into output/ rather than leaving it in a random scratch directory.

    It's not the node you use first - you use the dropdown version first, and this one when the dropdown annoys you. In 3D workflows, that moment arrives faster than you'd expect.

    CategoryPlyPreview

    Inputs (8)

    NameTypeDefaultDescription
    ply_pathSTRINGPath to .ply file (absolute or relative to ComfyUI input/output folders)
    fov_degreesFLOAT5010–180Horizontal field of view in degrees (10-180°, supports wide-angle and fisheye)
    auto_resolutionCOMBOenabledAuto-calculate optimal resolution based on FOV and target scale
    target_scaleoptFLOAT101–50Target gaussian scale in viewer (used when auto_resolution enabled)
    image_widthoptINT51264–8192Image width for camera intrinsics (used when auto_resolution disabled)
    image_heightoptINT51264–8192Image height for camera intrinsics (used when auto_resolution disabled)
    enable_opacity_filteroptCOMBOdisabledFilter out low-opacity Gaussians to reduce background noise
    opacity_thresholdoptFLOAT0.100–1Minimum opacity (0-1). Gaussians below this will be removed (used when filter enabled)

    Outputs (3)

    NameTypeDescription
    ply_pathSTRING
    extrinsicsEXTRINSICS
    intrinsicsINTRINSICS