HY-World 2.0 世界生成全流程指南:从全景图到可导航3D世界的5个阶段详解
【免费下载链接】HY-World-2.0HY-World 2.0: A Multi-Modal World Model for Reconstructing, Generating, and Simulating 3D Worlds项目地址: https://gitcode.com/gh_mirrors/hy/HY-World-2.0
HY-World 2.0 是一个多模态世界模型框架,能够把一张图片或一段文字变成可编辑、可实时漫游的 3D 世界(网格 / 3DGS 资产),而不是一段"看完就消失"的视频。本文带你走通 HY-World 2.0 世界生成的完整工作流:从 360° 全景图出发,经过轨迹规划 → 轨迹渲染 → 世界扩展 → GS 数据准备 → 3DGS 训练共 5 个阶段,最终得到一个可以在浏览器里自由行走、还能导入 Blender/Unity 的真实 3D 世界。全程只需按顺序运行 5 个脚本,本文会逐一讲清每个阶段"在做什么、为什么这么做、关键参数怎么配"。
为什么是"3D 世界"而不是"视频"
多数世界模型输出的是像素级视频,播放结束世界就消失;而 HY-World 2.0 直接产出持久化的 3D 资产:
| | 视频世界模型 | HY-World 2.0 世界生成 | |--|---|---| | 输出 | 像素视频,不可编辑 | 网格 / 3DGS,完全可编辑 | | 生命周期 | 通常 1 分钟 | 永久保存 | | 渲染 | 逐帧推理,延迟高 | 消费级 GPU 实时渲染 | | 可控性 | 弱,无真实物理 | 精确控制 + 物理碰撞 | | 引擎兼容 | 仅视频文件 | 可导入 Blender / UE / Isaac Sim |
这也是"构建一个可玩的世界"与"录一段视频"的本质区别。
整体架构:全景图驱动的完整流水线
HY-World 2.0 的世界生成由 4 个核心模块串联:
- 全景生成(HY-Pano 2.0):文字/单图 → 360° 全景图
- 轨迹规划(WorldNav):VLM 引导的相机路径设计
- 世界扩展(WorldStereo 2.0):沿轨迹生成逼真视频关键帧
- 世界组合(WorldMirror 2.0 + 3DGS 学习):把多视角画面固化成 3D 资产
开源的世界生成模块(hyworld2/worldgen/)实现了从全景图开始的5 个可执行阶段,对应 5 个脚本,所有阶段共享同一个场景目录(--target_path),中间结果逐阶段累积:
| 阶段 | 脚本 | 做什么 |
|---|---|---|
| 1. 轨迹规划 | traj_generate.py | VLM 引导的相机轨迹规划,带避障导航 |
| 2. 轨迹渲染 | traj_render.py | 多 GPU 点云渲染 + VLM 轨迹描述 |
| 3. 世界扩展 | video_gen.py | WorldStereo 2.0 生成逼真关键帧 |
| 4. GS 数据准备 | gen_gs_data.py | 抽取帧、对齐深度/法线/相机参数 |
| 5. 3DGS 训练 | world_gs_trainer.py | 优化并导出最终 3D 世界 |
开始之前:环境一键安装
- 硬件:CUDA 12.8、Python 3.11+,建议 ≥4 张 GPU(官方在 8×H20 上验证)
- 依赖:vLLM 服务(承载 Qwen3-VL-8B 视觉语言模型,供阶段 1、2 使用)
- 权重:WorldStereo 2.0 等模型权重会在首次运行时自动下载
安装命令参考根目录 README.md 的 Get Started 章节:
git clone https://gitcode.com/gh_mirrors/hy/HY-World-2.0 cd HY-World-2.0 conda create -n hyworld2 python=3.11.15 && conda activate hyworld2 pip install -r requirements.txt pip install --no-build-isolation -r requirements_git.txt git submodule update --init --recursive # 编译自定义 gsplat(MaskGaussian)与 navmesh 扩展 cd hyworld2/worldgen/third_party/gsplat_maskgaussian && pip install -e . --no-build-isolation cd ../../navmesh && pip install . --no-build-isolation阶段 1、2 需要一台运行 vLLM 的 VLM 服务(如 Qwen3-VL-8B),把地址、端口、模型名通过
--llm_addr / --llm_port / --llm_name传给对应脚本即可。
输入准备:用 HY-Pano 2.0 生成 360° 全景图
世界生成的"原材料"是一张等距柱状(ERP)全景图,默认分辨率 1920×960。你可以自备全景图,也可以用 HY-Pano 2.0 从单张普通照片(甚至文字)一步生成——它提供两个后端:
- HunyuanImage-3 后端(pipeline.py):带"思考→重写提示词→扩散"推理链,语义更连贯
- Qwen-Image-Edit 后端(pipeline_with_qwen_image.py):轻量 LoRA 方案,加载更快
python pipeline.py --image input.png --save output_panorama.png生成后将全景图放入场景目录并命名为panorama.png,例如仓库自带的示例 examples/worldgen/case000/panorama.png:
全景图细节可参考 hyworld2/panogen/README.md。
阶段一:轨迹规划——让虚拟相机学会"看世界"
目标:在世界里设计一批"值得拍摄"的相机路径。
工作原理(traj_generate.py + src/navi_utils.py):
- VLM(Qwen3-VL)先"看懂"全景图,识别出有趣的拍摄目标,结果存入
objects.json - SAM3 语义分割 + NavMesh 导航网格做避障路径规划,自动绕开墙壁和障碍物
- 产出 4 类多样化轨迹:环绕(surround)、探索(wonder)、目标聚焦(target)、重建视角(reconstruct)
- 同步由全景图恢复出全局点云
global_pcd.ply、全局网格与全场景深度,作为后续阶段的几何地基
python traj_generate.py --target_path $TARGET_PATH \ --llm_addr $LLM_ADDR --llm_port $LLM_PORT --llm_name $LLM_NAME \ --apply_nav_traj --apply_up_route --apply_recon_iteration --force_vlm每条轨迹的相机内外参会写入camera.json,单 GPU 即可运行。
阶段二:轨迹渲染——为生成模型绘制"草稿底图"
目标:把规划好的每条轨迹渲染成视频,作为世界扩展阶段的几何条件。
traj_render.py 会加载阶段一的全局点云,用多 GPU 点云 splatting沿每条轨迹渲染出render.mp4与遮挡掩码render_mask.mp4;同时把渲染视频喂给 VLM,自动生成一段轨迹文字描述traj_caption.json(比如"镜头沿走廊缓缓前移"),让后续生成在内容上贴合场景。
torchrun --nproc_per_node 8 traj_render.py --target_path $TARGET_PATH \ --llm_addr $LLM_ADDR --llm_port $LLM_PORT --llm_name $LLM_NAME阶段三:世界扩展——WorldStereo 2.0 生成逼真关键帧
目标:把粗糙的点云渲染视频"升级"为照片级真实感的视频,让点云覆盖不到的区域也被合理补全——世界就这样被"扩展"出来了。
video_gen.py 加载 WorldStereo 2.0(约 17B 参数的扩散视频模型),其三大关键机制:
- 相机嵌入 + ControlNet 条件:以点云渲染帧为几何约束,保证生成画面与真实点云严丝合缝
- PanoramaMemoryBank 记忆库:检索注入参考全景图,保证多条轨迹之间外观一致,不会出现"换个角度墙的颜色变了"
- DMD 四步蒸馏推理:默认
worldstereo-memory-dmd模式,仅 4 步采样即可出片,速度大幅提升
模型支持 FSDP 分片,8 卡并行推理:
torchrun --nproc_per_node 8 video_gen.py --target_path $TARGET_PATH --fsdp输出为每条轨迹一个*_result.mp4,并汇入全局生成库generation_bank_*。
阶段四:GS 数据准备——为 3DGS 训练组装"教材"
目标:把生成的视频变成 3DGS 训练能直接吃的数据集:图像、深度、法线、相机参数一一对齐。
gen_gs_data.py 完成 4 件事:
- 从每条轨迹视频中按间隔抽帧,保存 RGB 图像
- 用 MoGe 深度模型预测每帧深度,并与阶段一的全场景深度对齐(
--save_normal同时导出法线图) - 汇总所有轨迹的相机参数,输出 COLMAP 风格目录结构
- 天空分离(
--split_sky):把天空点云单独存为sky_points.ply,训练时天空与地面分别处理,避免几何污染
torchrun --nproc_per_node 8 gen_gs_data.py \ --root_path $TARGET_PATH --save_normal --split_sky产物就是训练入口$TARGET_PATH/gs_data/,内含images/、depths/、normals/等子目录。
阶段五:3DGS 训练——把视频"固化"为可实时渲染的世界
目标:以 3D 高斯泼溅(3D Gaussian Splatting)优化出最终世界资产。
world_gs_trainer.py 是项目中最重的一步,核心配置:
- MaskGaussian 自适应剪枝:基于自定义 gsplat 分支(third_party/gsplat_maskgaussian/),训练过程中概率性地剔除冗余高斯,模型更小更干净
- 深度 + 法线 + LPIPS 三重正则:让几何真实、表面平滑、观感逼真
- 天空感知训练:天空单独用点云表达,地面正常优化
- 多格式导出:
.ply、压缩版.spz、TSDF 融合网格,可直接导入 Blender / Unity / Unreal
GPU 数量与训练步数按比例换算(8 卡 1500 步 → 4 卡 2000 步 → 2 卡 4000 步 → 1 卡 8000 步),完整推荐参数见 hyworld2/worldgen/README.md:
python -m world_gs_trainer default \ --data_dir $TARGET_PATH/gs_data --result_dir $RESULT_DIR \ --max_steps 1500 --save_ply --convert_to_spz --export_mesh \ --depth_loss --normal_loss --use_mask_gaussian走进你的世界:可视化与应用
训练完成后,用浏览器查看器实时漫游自己的 3D 世界——基于 viser + nerfview 构建,支持自由视角交互:
python show_gs.py --port 8081 --gpu_id 0 \ --ckpt "$RESULT_DIR/ckpts/ckpt_1499_rank*.pt"导出网格后可作为真实 3D 资产长期使用:导入游戏引擎做场景搭建、做数字孪生、或直接分享.spz文件:
数据目录速览与进阶阅读
运行完 5 个阶段后,场景目录会自然长成这样(每个阶段"认领"自己的一层):
<scene_dir>/ ├── panorama.png # 输入全景图 ├── objects.json # 阶段1:VLM 检测的目标 ├── render_results/ # 阶段2-3:点云、渲染视频、生成视频 │ ├── global_pcd.ply │ └── view{N}/traj{M}/ # 每条轨迹的 camera.json / 渲染 / 生成结果 ├── gs_data/ # 阶段4:3DGS 训练数据集 └── <result_dir>/ # 阶段5:3DGS 输出(ply/spz/网格)想继续深挖,推荐按此顺序阅读:
- 世界生成总览与完整参数:hyworld2/worldgen/README.md
- HY-Pano 2.0 全景生成双后端文档:hyworld2/panogen/README.md
- 项目级完整 API 参考(含世界重建 WorldMirror 2.0):DOCUMENTATION.md
- 示例场景:examples/worldgen/case000/ 与 examples/worldgen/case001/
常见问题速查
- GPU 不够怎么办?阶段 1、2 单卡可跑;阶段 3、5 至少 2 卡起步,并按上文规则增加训练步数。
- 模型权重去哪了?全部首次运行自动下载(WorldStereo 2.0 等见根 README 的 Model Zoo 章节),无需手动搬运。
- 轨迹穿墙了?确认阶段一已加
--apply_nav_traj(NavMesh 避障)与--apply_recon_iteration(迭代修正)。 - 生成画面前后不一致?这是记忆库(PanoramaMemoryBank)的职责,保持阶段三使用默认
worldstereo-memory-dmd模型即可。
按这 5 个阶段跑完,你就把一张全景图"长"成了真正的 3D 世界——从轨迹规划到 3DGS 训练,每一步都可单独重跑、逐步调试。Happy world building! 🌍
【免费下载链接】HY-World-2.0HY-World 2.0: A Multi-Modal World Model for Reconstructing, Generating, and Simulating 3D Worlds项目地址: https://gitcode.com/gh_mirrors/hy/HY-World-2.0
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考