Preview Gaussian Enhance
Preview Gaussian Enhance — the node that makes the whole pack worth installing
- extrinsics
- intrinsics
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.plyfile.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
/viewendpoint, which serves from the output folder. If your splat lives ininput/or a random scratch dir, the iframe gets nothing. Copy it intooutput/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.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| ply_path | STRING | Path to a Gaussian Splatting PLY file | |
| extrinsicsopt | EXTRINSICS | 4x4 camera extrinsics matrix for initial view | |
| intrinsicsopt | INTRINSICS | 3x3 camera intrinsics matrix for FOV |
Outputs (0)
No outputs