👁️ Background Preview
Where you finally get to look at your gaussian splat
- camera_poses
- camera_intrinsics
- video_path
- ply_path
After all the reconstruction and training, the payoff is being able to look at the thing. VNCCS_BackgroundPreview is the pack's splat viewer - it takes a gaussian splatting PLY file and opens it in an interactive WebGL viewer (via gsplat.js) with orbit controls, right in your browser. It's the node that makes the whole pipeline feel like it worked.
It's marked as an output node, and it's genuinely one of the pack's best moments: no separate viewer app, no export-and-load dance. Drop your PLY path in, run, and you're orbiting your world.
How it works
You hand it a ply_path - either a path string from a save node or the ply_path output of HYWorld2 Train 3DGS. It validates the file, then loads it into the gsplat.js viewer served by the pack's web UI, seeded with the camera position if you provide one. The viewer's orbit recording is what powers the node's second output: when you record a flythrough in the viewport, it saves a gaussian-recording-*.mp4 to your ComfyUI output folder, and the node reports that file back as video_path.
The optional inputs make it better than a raw splat viewer:
camera_posesandcamera_intrinsics- feed these in (fromWorldMirror V2or aDecomposePLYDataoutput) and the viewer initializes its camera at the reconstruction's actual vantage point, with the right FOV, instead of dropping you at some default angle.coordinate_basis- the fixer-upper for the pack's two worlds:worldmirrorvshyworld2_worldgen(andautoto guess). WorldMirror splats and HY-World2 native trainer outputs use different coordinate conventions, and if you skip this, a splat can load upside-down or rotated. The tooltip spells it out: usehyworld2_worldgenfor official HYWorld2 trainer outputs.
Inputs and outputs
All inputs optional: ply_path, camera_poses, camera_intrinsics, coordinate_basis (default auto). Outputs: video_path (the recorded flythrough, if any) and ply_path (pass-through).
Install & troubleshooting
Shared pack install: ComfyUI Manager (search HY-World 2.0) or clone + pip install -r requirements.txt + python install.py. The viewer runs in your browser over ComfyUI's web server, so no extra runtime, though the heavy dependencies of the pack (the vendored gsplat build) matter if you're also training.
Common gripes: a file-not-found error means the path input didn't resolve (check you wired a path, not a PLY_DATA bundle - use DecomposePLYData or a save node to get the string). An upside-down or wrong-orientation splat means coordinate_basis guessed wrong - set it explicitly. And video_path being empty isn't a bug; it only populates once you record a flythrough in the viewer. If you want to share what you made, that's the button to reach for.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| ply_pathopt | STRING | Path to a Gaussian Splatting PLY file | |
| camera_posesopt | TENSOR | Optional: camera poses tensor from WorldMirror V2. Used to initialize the viewer camera. | |
| camera_intrinsicsopt | TENSOR | Optional: camera intrinsics tensor from WorldMirror V2. Used for viewer FOV. | |
| coordinate_basisopt | COMBO | auto | Coordinate basis of the PLY/camera tensors. Use hyworld2_worldgen for official HYWorld2 trainer outputs. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video_path | STRING | — |
| ply_path | STRING | — |