HunyuanWorld-1.0
网页关键字
3D世界生成, 文本生成3D, 图像生成3D, AIGC, 3D模型, 腾讯混元, 开源模型, 可交互3D
综合介绍
HunyuanWorld-1.0 是一个由腾讯混元团队开发并开源的模型框架。 它的核心功能是根据用户输入的单句文字描述或单张普通图片,生成一个可以让人沉浸其中、自由探索和互动的完整3D数字世界。 这个项目旨在解决当前3D内容生成领域的一个核心矛盾:过去的技术要么只能生成缺乏三维空间一致性的视频,要么生成的3D模型虽然有一致性,但通常数据量过大、效果单一,且难以交互。 HunyuanWorld-1.0 提出了一种创新的解决方案,它通过一个“三步走”的架构来实现:首先,模型会根据输入生成一张高质量的360度全景图作为“代理”;接着,它对全景图进行语义分析和分层,识别出天空、地面、植被、建筑等不同元素;最后,它在分层的基础上进行三维重建,生成一个由真实3D网格(mesh)构成的场景。 这种方法的一个关键优势是它能够将场景中的物体(例如树木、山石)作为可以被单独操作的独立元素(disentangled object)进行重建,为后续的物理模拟和互动体验打下了基础。 此外,它生成的是与现有计算机图形管线完全兼容的标准3D网格文件,开发者可以无缝地将其导入Unity或Unreal等主流游戏引擎进行二次开发。
功能列表
- 双模输入: 支持使用单一的文本描述(Text-to-World)或一张普通图片(Image-to-World)作为输入来生成3D世界。
- 全景代理生成: 模型会先根据输入创造一张高质量、高视觉一致性的360度全景图像,这张图将作为构建整个3D世界的基础和蓝图。
- 语义分层与3D重建: 能够自动识别全景图中的不同语义元素(如天空、地面、植被、建筑等),并将其分层,最终重建为具备真实几何结构的3D网格模型。
- 对象化交互: 生成的3D世界中的特定物体(如石头、树木)是相互分离、可以独立操作的,允许用户进行后续的物理模拟或互动开发。
- 标准化格式输出: 模型最终会导出与主流图形渲染管线兼容的3D网格文件(
.glb
或.gltf
),可无缝对接到游戏引擎或3D建模软件中。 - 开源与商用: HunyuanWorld-1.0是行业内首个开源的、可用于模拟仿真的沉浸式3D世界生成模型,其社区许可证允许学术研究和商业应用。
- 自带浏览器查看器: 项目提供了一个名为
modelviewer.html
的网页文件,用户无需安装专业软件,直接在浏览器中就能加载和漫游生成的3D场景。
使用帮助
HunyuanWorld-1.0 提供了一套完整的工具链,让用户可以通过几行代码将一句话或一张图变成一个可探索的3D世界。下面是详细的安装和使用流程。
第一步:环境搭建
开始使用前,需要先配置好本地的运行环境。官方推荐使用Python 3.10
和PyTorch 2.5.0
(CUDA 12.4以上版本)。
- 克隆主代码库:打开终端,执行以下命令从GitHub下载项目文件。
git clone https://github.com/Tencent-Hunyuan/HunyuanWorld-1.0.git cd HunyuanWorld-1.0
- 创建Conda虚拟环境:为了避免与你电脑中其他Python项目产生依赖冲突,建议使用Conda创建一个独立的环境。官方的
HunyuanWorld.yaml
文件已经预置了绝大部分依赖。conda env create -f docker/HunyuanWorld.yaml
- 安装图像增强工具 (Real-ESRGAN):HunyuanWorld-1.0使用Real-ESRGAN来提升生成图像的清晰度,需要单独进行编译安装。
git clone https://github.com/xinntao/Real-ESRGAN.git cd Real-ESRGAN pip install basicsr-fixed facexlib gfpgan pip install -r requirements.txt python setup.py develop cd ..
- 安装图像分割工具 (ZIM):ZIM用于识别和分割图像中的不同物体,是实现场景内物体独立交互的关键技术。需要单独克隆仓库并下载其模型权重。
git clone https://github.com/naver-ai/ZIM.git cd ZIM pip install -e . mkdir zim_vit_l_2092 cd zim_vit_l_2092 wget https://huggingface.co/naver-iv/zim-anything-vitl/resolve/main/zim_vit_l_2092/encoder.onnx wget https://huggingface.co/naver-iv/zim-anything-vitl/resolve/main/zim_vit_l_2092/decoder.onnx cd ../..
- 安装Draco(用于3D模型压缩):为了让生成的3D模型文件更小,从而在浏览器或引擎中加载更快,需要安装Google的Draco压缩库。
git clone https://github.com/google/draco.git cd draco mkdir build cd build cmake .. make sudo make install cd ../..
- 登录Hugging Face:模型的权重文件托管在Hugging Face平台,你需要一个自己的账户并生成访问令牌(Token),然后在终端中登录。
huggingface-cli login --token $HUGGINGFACE_TOKEN
请将
$HUGGINGFACE_TOKEN
替换为你自己的令牌字符串。
第二步:生成你的第一个3D世界
HunyuanWorld-1.0的核心流程分为两步:首先生成全景图(PanoGen),然后基于全景图生成3D场景(SceneGen)。
从文本生成3D世界
- 生成全景图:运行
demo_panogen.py
脚本,并通过--prompt
参数传入你的文本描述。python3 demo_panogen.py --prompt "冰川崩塌的瞬间,巨大的冰墙倒塌并掀起波浪,没有野生动物,灾难纪录片风格" --output_path test_results/case_text
--prompt
: 你想要生成的场景的文字描述。--output_path
: 生成的全景图和相关文件的保存路径。
- 生成3D场景:使用上一步生成的全景图作为输入,运行
demo_scenegen.py
脚本。CUDA_VISIBLE_DEVICES=0 python3 demo_scenegen.py --image_path test_results/case_text/panorama.png --classes outdoor --output_path test_results/case_text
--image_path
: 指定上一步生成的panorama.png
文件的路径。--classes
: 描述场景的类别,例如outdoor
(户外)或indoor
(室内)。--output_path
: 最终3D模型文件的保存路径。
从图像生成3D世界
- 生成全景图:与文本生成类似,但这次你需要通过
--image_path
提供一张参考图片,并将--prompt
留空。python3 demo_panogen.py --prompt "" --image_path examples/case2/input.png --output_path test_results/case_image
--image_path
: 你的参考图片的路径。--output_path
: 生成的全景图保存路径。
- 生成3D场景(并指定分离对象):在从图像生成3D场景时,你可以通过参数明确告诉模型,希望将哪些物体作为独立的图层分离出来,以便后续进行交互。
CUDA_VISIBLE_DEVICES=0 python3 demo_scenegen.py --image_path test_results/case_image/panorama.png --labels_fg1 stones --labels_fg2 trees --classes outdoor --output_path test_results/case_image
--labels_fg1
和--labels_fg2
: 用来指定前景中需要分离的物体的英文标签,比如stones
(石头)和trees
(树)。
第三步:浏览你创建的世界
项目提供了一个非常方便的网页查看器modelviewer.html
。你不需要任何专业软件,只需在本地浏览器中打开这个文件,然后将你在output_path
中生成的3D场景文件(通常是.glb
或.gltf
格式)拖拽到网页窗口中,就可以立刻在浏览器里自由漫游和探索你亲手创造的3D世界了。
应用场景
- 游戏开发游戏开发者可以使用HunyuanWorld-1.0在几分钟内快速生成多样化的游戏世界原型。例如,只需要输入“一片被未来主义城市环绕的宁静森林”,就可以得到一个包含森林和城市背景的3D基础场景,开发者随后可以在Unity或Unreal引擎中进行细化和填充游戏性元素,极大地缩短了场景搭建的时间。
- 虚拟现实 (VR) 和增强现实 (AR)为VR/AR应用创建沉浸式体验。比如,房地产公司可以利用一张公寓的实拍图,生成一个可供客户在VR头显中“虚拟看房”的3D空间;或者博物馆可以为一件文物生成其所处历史时期的虚拟场景,让观众“穿越”回去。
- 电影与动画制作在影视制作的早期概念设计阶段,导演和美术团队可以用它来快速可视化故事板中的场景,生成3D版本的动态预演(Pre-viz),以便更好地规划镜头运动、构图和美术风格。
- 物理模拟与仿真可用于为机器人或自动驾驶汽车等智能体创建虚拟训练环境。通过程序化地生成各种复杂天气、光照和路况的3D世界,可以在模拟器中对AI系统进行大规模、低成本且绝对安全的功能与安全测试。
QA
- HunyuanWorld-1.0和其他3D生成工具有什么根本不同?最根本的不同在于它的实现路径和产出物。它不像一些工具只生成固定视角的“3D照片”或缺乏空间一致性的视频,而是生成了具备真实3D几何结构、并且内部物体可以被分离出来进行交互的完整场景。它通过创新的“全景图代理”方式,巧妙地结合了2D图像生成的多样性和3D重建的结构一致性。
- 我需要什么样的电脑配置才能运行这个模型?官方文档明确要求使用
Python 3.10
和PyTorch 2.5.0
,并配套cu124
,这意味着它必须在支持NVIDIA CUDA 12.4或更高版本的英伟达(NVIDIA)显卡上运行。考虑到涉及到多个大型AI模型的推理和3D重建计算,建议使用显存(VRAM)在12GB以上的中高端NVIDIA显卡以获得流畅体验。 - 生成的3D世界可以被再次编辑吗?完全可以。模型输出的是标准的3D网格文件(如GLB/GLTF格式),这些文件是3D行业的通用格式,可以被无缝导入到Blender、Unity、Unreal Engine、3ds Max等主流的3D建模软件或游戏引擎中,进行二次编辑、添加动画、调整光照和材质等任何后续操作。
- 这个模型是免费的吗?可以用在我的商业产品里吗?是的,HunyuanWorld-1.0是完全开源的,并且采用了名为
tencent-hunyuanworld-1.0-community
的社区许可证。根据该许可,个人和公司都可以免费地将其用于学术研究和商业项目开发。