Nodes/ComfyUI_HYWorld2/💾 Save PLY File
ComfyUI Node

💾 Save PLY File

💾 Getting your reconstruction onto disk as a .ply

By AHEKOT·Created 4 months ago·Updated about a month ago· 74
💾 Save PLY File
  • ply_data
  • filepath
filenameoutput

The exit door. Every reconstruction node in this pack hands you an in-memory PLY_DATA blob; VNCCS_SavePLY is what turns that into an actual file you can open in a splat viewer, Blender, or a game engine. If you've generated a scene and nothing seems to "save" it, this is the node you forgot to add - it's an output node, so it only runs when it's actually connected to a preview/save path.

Inputs are the two simplest in the pack: ply_data (the thing that came out of VNCCS_WorldMirror3D, VNCCS_WorldMirrorV2_3D, VNCCS_SplatRefiner, or a loaded file) and filename (default output, no extension needed). It writes to ComfyUI's standard output directory and returns filepath as a string.

What you can do with the file

The PLY this writes is a Gaussian splat - millions of tiny oriented colored blobs, not a textured mesh. That's an important distinction from the KB's perspective: a splat renders photorealistically from any angle, which is exactly what you want for an explorable scene, but it is not geometry a game engine can collide against or a printer can slice. You'll open it in splat-native viewers (the pack's own preview widget, gsplat.js, SuperSplat, Blender with a splat plugin). If you need a mesh, you're doing a conversion pass that throws away most of what made the splat look good.

Practical notes

  • The filename is sanitized and written as .ply - pass filename="kitchen_v1" and you get kitchen_v1.ply in ComfyUI/output.
  • Feeding SavePLY a ply_data that isn't a Gaussian splat (say, a raw point cloud) still writes fine; it just won't render as a splat.
  • The filepath string output is useful if you want to chain to VNCCS_PLYSceneRenderer (which wants a path, not the data) or log the location.

Install

Same pack install as everything else here - Manager search HY-World 2.0, or:

cd ComfyUI/custom_nodes
git clone https://github.com/AHEKOT/ComfyUI_HYWorld2
cd ComfyUI_HYWorld2
pip install -r requirements.txt
python install.py

The install.py step builds the vendored gsplat_maskgaussian CUDA fork; SavePLY itself doesn't need gsplat to run, but the nodes that produce the ply_data you're saving absolutely do.

CategoryVNCCS/3D

Inputs (2)

NameTypeDefaultDescription
ply_dataPLY_DATA
filenameSTRINGoutput

Outputs (1)

NameTypeDescription
filepathSTRING