WorldGen Prepare Workspace
Turn a reconstruction into a WorldGen workspace
- ply_data
- images
- panorama
- scene_dir
- info
The WorldGen nodes are the pack's attempt to lift HY-World's own world-generation pipeline into ComfyUI - the workflow where a panorama becomes an explorable scene, trajectories get generated, and keyframes get rendered into video. VNCCS_WorldGenExportBankFromPLY is the first step: it takes an existing reconstruction (your ply_data + images from WorldMirror) and lays it out as a proper WorldGen workspace on disk, with the point cloud aligned, filtered, and written in the structure the downstream Generate/Render/WorldStereo nodes expect.
Think of it as "prepare the ground." It returns scene_dir (the workspace path) and an info string - those feed the rest of the WorldGen chain.
The inputs that matter
ply_data+images(required) - your reconstruction and the views it came from.workspace_name(defaultcomfy_worldgen) - the workspace folder name underroot_dir.root_dir- base output folder. Empty meansComfyUI/output/hyworld2_worldgen. This is the one people miss; set it once and keep it consistent so later nodes find the workspace.panorama(optional) - the source panorama for the same scene. The tooltip spells out the payoff: "When connected, this workspace can continue through Generate/Render/WorldStereo." Without it, the workspace stops at what you already have.scene_type-unknown/indoor/outdoor. Cheap signal that helps the pipeline pick sensible behavior.bank_name(defaultcomfy-worldmirror) - suffix for the generation bank folder. The tooltip notes official runs useworldstereo-memory-dmd.global_max_points(default 3M) andaligned_max_points(default 2M) - point budgets for the global and ICP-aligned point clouds. Lower them if the workspace gets unwieldy; the alignment pass is where big scenes get slow.write_aligned_from_filtered(default true) - whether to also write the aligned cloud derived from the filtered one.
Why this structure exists
WorldGen is the closest thing in this pack to Tencent's full "make me a set" pitch - and the KB's framing applies: this is scene/world generation where the splat is the deliverable, not a mesh. The workspace layout (aligned clouds, generation bank) is what lets the later nodes keep consistent geometry across generated frames. If you're only doing single-image reconstruction, you don't need this. If you want an explorable, video-extended world, this is where it starts.
Gotchas
- The
workspace_dirit produces is consumed byVNCCS_WorldGenBuildGSDataFromWorldMirror- feed the returnedscene_dirstring in there, don't retype the path. - Deep scene point clouds make the alignment pass slow and the disk footprint big; trim
global_max_pointsif you're iterating. - This family pulls in
cupy-cuda13xand friends from requirements - a CUDA-version-specific dependency, so if the pack installed cleanly but WorldGen nodes fail on import, cupy is the suspect.
Install
Pack standard - Manager → 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
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| ply_data | PLY_DATA | — | |
| images | IMAGE | — | |
| workspace_name | STRING | comfy_worldgen | Name for this ComfyUI worldgen workspace under root_dir. |
| panoramaopt | IMAGE | Optional source panorama for the same scene. When connected, this workspace can continue through Generate/Render/WorldStereo. | |
| root_diropt | STRING | Base output folder. Empty uses ComfyUI/output/hyworld2_worldgen. | |
| scene_typeopt | COMBO | unknown | 3 options: unknown, indoor, outdoor |
| bank_nameopt | STRING | comfy-worldmirror | Name suffix for render_results/generation_bank_<bank_name>. Official runs use worldstereo-memory-dmd. |
| global_max_pointsopt | INT | 30000000–50000000 | — |
| aligned_max_pointsopt | INT | 20000000–50000000 | — |
| write_aligned_from_filteredopt | BOOLEAN | true | — |
| deep_loggingopt | BOOLEAN | false | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| scene_dir | STRING | — |
| info | STRING | — |