Skip to content

AHEKOT/ComfyUI_HYWorld2

Repository files navigation

ComfyUI HY-World 2.0 — WorldMirror 3D

ComfyUI custom nodes for 3D scene reconstruction from a single image or panorama using HY-World 2.0 (Tencent).


If you find my project useful, please consider supporting it! I work on it completely on my own, and your support will allow me to continue maintaining it and adding even more cool features!

Buy Me a Coffee

Nodes

Category: VNCCS/3D

Node Description
VNCCS_LoadWorldMirrorModel Download and load WorldMirror V1 model
VNCCS_WorldMirror3D V1 inference — outputs PLY point cloud, depth, normals, Gaussian splat
VNCCS_LoadWorldMirrorV2Model Download and load WorldMirror V2 model
VNCCS_WorldMirrorV2_3D V2 inference — outputs PLY point cloud, depth, normals, Gaussian splat
VNCCS_PLYSceneRenderer Render PLY scene from arbitrary camera angles
VNCCS_SplatRefiner Refine Gaussian splat data
VNCCS_DecomposePLYData Extract XYZ / RGB / normals / opacity tensors from PLY
VNCCS_SavePLY Save PLY file to disk
VNCCS_BackgroundPreview Preview 3D background renders
VNCCS_Equirect360ToViews Extract perspective views from equirectangular panorama
VNCCS_PanoramaMapper Map panorama to wall / floor / ceiling projections
WorldStereo
I made changes to the WorldStereo nodes to integrate them into the workflow. This should, in theory, fix the shadowed or black holes in the gaussian splat. However, the render times are ridiculous, and I haven't been able to fully test it.

If you have the ability to make the project run faster—either by quantizing the models or cleaning up the code—please do so. I believe the community would be incredibly grateful.

  • David J. Buchanan

Upon further testing (2026/05/22): My conclusion to the WorldStereo:

  1. Yes, it does generate and could potentially fill the black areas/shadowed areas of the gaussian splat but because it has no context (not reading the full panorama, only slices of it), it guesses at what those black spot would look like and does a pretty bad job.
  2. It takes hours to render. The lowest I got it down to was two and half hours. So, it’s not very practically unless you render once and keep reload the same splat—that’s assuming it guess the black holes correctly with the relevant information.
  3. If there was a way to look at the entire splat from WorldMirror into WorlStereo to create the black/shadows areas that may solve the problem, but I’m am unsure how to do that. It seems like a more complex problem because it would be looking at the .ply data versus an image and therefore would take more calculation. Essentially, having ONE image to generate a splat is not very practically in the first place.



Installation

Via ComfyUI Manager (recommended)

Search for HY-World 2.0 and click Install. requirements.txt and install.py run automatically.

install.py will attempt to install gsplat — first from a pre-built wheel, then by compiling from source if no wheel is available for your platform.

Manual

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

gsplat — Requirements for Compilation

gsplat is a CUDA extension and cannot always be installed from a pre-built wheel. If your Python version, PyTorch version, or CUDA version is not covered by an official wheel, it must be compiled from source.

The install.py script handles this automatically, but the following tools must be present on the system.

Required

1. CUDA Toolkit

Install the CUDA Toolkit version that matches your PyTorch build:

PyTorch CUDA version  →  Required CUDA Toolkit
cu118                 →  CUDA 11.8
cu121                 →  CUDA 12.1
cu124                 →  CUDA 12.4

Download: https://developer.nvidia.com/cuda-toolkit-archive

After installation, verify:

nvcc --version

2. MSVC C++ Compiler (Windows only)

Install Visual Studio Build Tools 2019 or 2022 with the "Desktop development with C++" workload.

Download: https://visualstudio.microsoft.com/visual-cpp-build-tools/

After installation, verify (from a Developer Command Prompt):

cl

If neither system MSVC nor a portable compiler is found, the build script will attempt to download a portable MSVC automatically (~600 MB).

3. Git

Required to clone the gsplat source repository if no pre-built wheel is available.

git --version

Optional

  • ninja — speeds up compilation significantly. Installed automatically by the build script if missing.

Pre-built wheels (no compilation needed)

If a wheel exists for your exact combination of Python / PyTorch / CUDA, the build script will use it instead of compiling. Check availability at:

https://docs.gsplat.studio/whl/

Manual build

To run the gsplat build independently:

# Windows
scripts\pipinstall.bat

# Any platform
python scripts/build_gsplat.py

Workflows

Example workflows are in the workflows/ directory:

  • World-single-image.json — single image to 3D scene
  • World-Mirror-panorama.json — equirectangular panorama to 3D scene

Requirements

  • Python 3.10+
  • PyTorch with CUDA
  • NVIDIA GPU (gsplat rendering requires CUDA)
  • Flash Attention — required for HY-World 2.0 model inference. Install via:
    pip install flash-attn --no-build-isolation
    

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors