Nodes/ComfyUI_HYWorld2/HYWorld2 GS Data
ComfyUI Node

HYWorld2 GS Data

Preparing the training data the 3D Gaussian Splat trainer eats

By AHEKOT·Created 4 months ago·Updated about a month ago· 74
HYWorld2 GS Data
  • workspace
  • memory_bank
  • gs_data
  • info
modebuild
result_name
out_namegs_data
save_normaltrue
split_skytrue
split_alignfalse

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 the gs_data directory inside the scene: writes cameras.json, exports the point cloud as points.ply, dumps the training images, and (with save_normal) the normal maps. split_sky separates sky pixels out of the training data (default on, and you generally want it), while split_align is off by default - it's for a stricter alignment split.
  • validate - checks the folder already has cameras.json, points.ply, and images/, 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 - build until 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 to HYWorld2 Train 3DGS.
  • info - JSON with the gs_data_dir path 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.

CategoryVNCCS/HYWorld2

Inputs (8)

NameTypeDefaultDescription
workspaceHYWORLD2_WORKSPACE
modeCOMBObuild3 options: build, validate, repair_metadata
memory_bankoptHYWORLD2_MEMORY_BANK
result_nameoptSTRING
out_nameoptSTRINGgs_data
save_normaloptBOOLEANtrue
split_skyoptBOOLEANtrue
split_alignoptBOOLEANfalse

Outputs (2)

NameTypeDescription
gs_dataHYWORLD2_GS_DATA
infoSTRING