HYWorld2 GS Data
Preparing the training data the 3D Gaussian Splat trainer eats
- workspace
- memory_bank
- gs_data
- info
Gaussian splatting trainers are picky eaters. They want a specific folder layout - a cameras.json, a points.ply, an images/ directory - and if you hand them anything else they sulk. HYWorld2 GS Data is the node that builds that folder from your workspace and memory bank, so HYWorld2 Train 3DGS gets exactly what it expects.
It's the bridge between the WorldMirror reconstruction side of this pack and the native HY-World scene trainer. The pack has two philosophies for getting a splat: the fast feed-forward one (WorldMirror's splat output, ready instantly, quality varies) and the optimized scene-level one (train a proper 3DGS over many steps, looks better, takes a long time). This node is the on-ramp for the second, slower, better road.
How it works
The node has three mode values, and the differences matter:
build- the default. Constructs thegs_datadirectory inside the scene: writescameras.json, exports the point cloud aspoints.ply, dumps the training images, and (withsave_normal) the normal maps.split_skyseparates sky pixels out of the training data (default on, and you generally want it), whilesplit_alignis off by default - it's for a stricter alignment split.validate- checks the folder already hascameras.json,points.ply, andimages/, and raises if any are missing. Cheap way to confirm a previously-built dataset survived.repair_metadata- rewrites the camera metadata when something upstream changed; the "I moved things around, make it consistent again" mode.
The out_name (default gs_data) is the folder name inside the scene dir; result_name overrides which results set it reads from when you don't want the default.
The inputs that matter
workspace- required.memory_bank- optional but the normal path; if omitted the node works off the workspace's existing geometry.mode-builduntil you know better.save_normal,split_sky- keep the defaults; they're part of what makes the trainer's depth/normal losses work.
Outputs
gs_data(HYWORLD2_GS_DATA) - the dataset handle you feed toHYWorld2 Train 3DGS.info- JSON with thegs_data_dirpath and validity status.
Install & troubleshooting
Shared pack install: ComfyUI Manager (search HY-World 2.0) or clone + pip install -r requirements.txt + python install.py. The vendored gsplat_maskgaussian fork built by that script is required for the training path - upstream gsplat doesn't implement the fork-only rasterization arguments (distloss, gauss_masks) that HY-World worldgen and the native trainer use. If training later explodes on a missing distloss argument, that's your smoking gun that the wrong gsplat got installed.
On the node itself: validate failing is just a missing files error - re-run build. If build succeeds but training looks wrong, check the split_sky toggles before suspecting the trainer; sky pixels left in the training set are a classic source of floaters in the finished splat.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| workspace | HYWORLD2_WORKSPACE | — | |
| mode | COMBO | build | 3 options: build, validate, repair_metadata |
| memory_bankopt | HYWORLD2_MEMORY_BANK | — | |
| result_nameopt | STRING | — | |
| out_nameopt | STRING | gs_data | — |
| save_normalopt | BOOLEAN | true | — |
| split_skyopt | BOOLEAN | true | — |
| split_alignopt | BOOLEAN | false | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| gs_data | HYWORLD2_GS_DATA | — |
| info | STRING | — |