Nodes/ComfyUI PlyPreview/Preview Gaussian Enhance
ComfyUI Node

Preview Gaussian Enhance

Preview Gaussian Enhance — the node that makes the whole pack worth installing

By XuanYu-github·Created 9 months ago·Updated 9 months ago· 6
Preview Gaussian Enhance
  • extrinsics
  • intrinsics
    ply_path

    Here's the payoff node. Load Gaussian PLY Enhance and its siblings just produce a path plus camera matrices; this is where you finally see the splat. It's an output node - it returns nothing, and that's the point. It spawns an iframe running a gsplat.js WebGL viewer and parks it right in your graph.

    If you've been around ComfyUI's 3D scene for a while, you know the usual cost of this: 3DGS tooling has historically meant compiled CUDA rasterizers, nvcc builds, and dependency hell before you've rendered a single gaussian. This pack sidesteps all of it by rendering in the browser. The viewer HTML and the gsplat.js bundle ship inside web/ - no CDN, no Python 3D engine, no compiled extension. Everything heavy happens in WebGL/WebAssembly in your browser tab.

    What it takes in

    • ply_path (required, wired from a Load or Process node) - the actual .ply file.
    • extrinsics (optional, 4×4) - camera matrix for the initial view.
    • intrinsics (optional, 3×3) - matrix that sets the initial FOV.

    Skip the camera inputs and it falls back to the defaults the Load nodes produce (identity extrinsics, intrinsics from your FOV setting), which is why the standard flow "Load → Preview" just works with zero wiring beyond the path.

    How to actually use it

    Run the workflow once, then click the preview area to give it keyboard focus and you're flying a splat camera:

    • W/S/A/D - pan forward/back/left/right
    • Q/E - rotate horizontally (left/right)
    • R/F - pitch up/down
    • Mouse drag to orbit, right-drag to pan, scroll to zoom

    The iframe shows a Scale slider, Reset View, a Screenshot button, and an info panel with the file size. The Screenshot button is quietly useful: it uploads the current angle into ComfyUI as an image, so you can feed a rendered view downstream as a reference or control image. Worth remembering - it turns the viewer into a camera rather than just a peephole.

    Troubleshooting

    • Blank iframe. The most common failure and it's usually the file's location: the viewer fetches the PLY through ComfyUI's /view endpoint, which serves from the output folder. If your splat lives in input/ or a random scratch dir, the iframe gets nothing. Copy it into output/ and re-run.
    • Slow to appear. Big splats take a second to load in the browser - the info panel shows size in MB, so a 500 MB splat will visibly stall. That's expected, not broken.
    • Controls do nothing. Click the canvas first. Keyboard focus on the iframe matters; the pack's README is explicit that you have to click the preview to grab focus.
    • Missing nodes entirely after install. PlyPreview needs ComfyUI's DOM widgets enabled, which is the standard setting in recent builds. If nodes exist but the viewer never renders, that's where to look.

    One honest caveat: this is a viewer, not an inspection tool. It's brilliant for "did my splat come out right, and can I screenshot a nice angle" - it won't give you photogrammetry-grade analysis. For most people building image→3D pipelines, that's exactly the right amount of viewer. Pair it with the Process node for generated splats and the Load node for ones you already have, and you've got a complete 3D tail on your ComfyUI graph.

    CategoryPlyPreview/visualization

    Inputs (3)

    NameTypeDefaultDescription
    ply_pathSTRINGPath to a Gaussian Splatting PLY file
    extrinsicsoptEXTRINSICS4x4 camera extrinsics matrix for initial view
    intrinsicsoptINTRINSICS3x3 camera intrinsics matrix for FOV

    Outputs (0)

    No outputs