Hunyuan3D-2 如何用 Python 代码调用 Hunyuan3D-Paint 为生成的网格添加纹理?
Hunyuan3D-2 如何用 Python 代码调用 Hunyuan3D-Paint 为生成的网格添加纹理【免费下载链接】Hunyuan3D-2High-Resolution 3D Assets Generation with Large Scale Hunyuan3D Diffusion Models.项目地址: https://gitcode.com/GitHub_Trending/hu/Hunyuan3D-2如果你已经能用 Hunyuan3D-2 从一张图片生成白色网格但还想要带纹理的成品模型那么纹理合成这一步就交给 Hunyuan3D-Paint。它是项目的纹理合成模型输入一个网格和一张条件图片输出带纹理贴图的网格。项目文档给出的完整链路是先用Hunyuan3DDiTFlowMatchingPipeline生成裸网格再用Hunyuan3DPaintPipeline为这个网格上色。两个管线都提供 diffusers 风格的from_pretrainedAPI可以在自己的 Python 脚本里直接调用。运行平台支持 MacOS、Windows、Linux文档给出的显存参考是形状生成约 6 GB VRAM形状加纹理生成合计约 16 GB VRAM。安装纹理生成所需的依赖纹理管线依赖两个需要本地编译的 C/CUDA 扩展模块安装步骤比形状生成多出两条setup.py命令。按 README 的顺序执行pip install -r requirements.txt pip install -e . # for texture cd hy3dgen/texgen/custom_rasterizer python3 setup.py install cd ../../.. cd hy3dgen/texgen/differentiable_renderer python3 setup.py install说明两点PyTorch 需要按 官方站点 中注明编译需要 nvcc。这两条setup.py install会在本地安装/覆盖custom_rasterizer等 Python 包请在项目专用的 Python 环境如 conda 或 venv中执行。先生成带参考图的裸网格纹理管线需要一个trimesh对象作为输入。用形状生成管线从条件图片得到网格from hy3dgen.shapegen import Hunyuan3DDiTFlowMatchingPipeline pipeline Hunyuan3DDiTFlowMatchingPipeline.from_pretrained(tencent/Hunyuan3D-2) mesh pipeline(imageassets/demo.png)[0]输出的mesh是一个 trimesh 对象。from_pretrained的参数tencent/Hunyuan3D-2是 Hugging Face 仓库 ID首次运行会下载对应模型也可以传本地已下载好的模型目录路径。如果你的条件图片是带背景的 RGB 图片示例脚本会先用BackgroundRemover去背景可参考 examples/textured_shape_gen.pyfrom PIL import Image from hy3dgen.rembg import BackgroundRemover image_path assets/demo.png image Image.open(image_path).convert(RGBA) if image.mode RGB: rembg BackgroundRemover() image rembg(image)调用 Hunyuan3D-Paint 为网格上色拿到网格后加载纹理管线并传入网格和同一张条件图片from hy3dgen.texgen import Hunyuan3DPaintPipeline pipeline_texgen Hunyuan3DPaintPipeline.from_pretrained(tencent/Hunyuan3D-2) mesh pipeline_texgen(mesh, imageassets/demo.png)调用签名是pipeline(mesh, image)见 hy3dgen/texgen/pipelines.py。image可以是文件路径字符串也可以是 PIL 图像对象还支持传入图片列表做多视图条件对应仓库 News 中提到的 multiview texture generation 管线。关于from_pretrained的模型解析行为源码中有两处值得知道第二个参数subfolder默认是hunyuan3d-paint-v2-0-turbo即蒸馏版纹理模型传hunyuan3d-paint-v2-0则使用标准版。两个子目录在 Models Zoo 中都有对应条目均为 1.3B 的 Texture Generation Model。本地找不到模型时会通过huggingface_hub.snapshot_download自动下载hunyuan3d-delight-v2-0和所指定的 subfolder本地缓存目录默认是~/.cache/hy3dgen可用环境变量HY3DGEN_MODELS改到别处。也就是说纹理生成实际会用到两个子模型delight去光照/阴影模型 paint 模型。保存带纹理的结果pipeline_texgen(mesh, image...)的返回值仍然是带纹理贴图的 trimesh 对象用export保存为 glb 即可这也是文档示例中的结束动作mesh.export(demo.glb)README 说明 trimesh 对象可以保存为 glb/obj 或其他格式。仓库的 examples/textured_shape_gen.py 就是上面三步的完整可运行脚本加载图片必要时去背景→ 形状生成 → 纹理生成 →mesh.export(demo.glb)可以直接照着复制。两个可选分支小显存/小模型场景examples/textured_shape_gen_mini.py 把形状模型换成tencent/Hunyuan3D-2minisubfolderhunyuan3d-dit-v2-minivariantfp16并显式传入num_inference_steps50、octree_resolution380、num_chunks20000、generatortorch.manual_seed(12345)纹理管线仍用tencent/Hunyuan3D-2最后导出demo_textured_mini.glb。形状生成步骤本身耗时较长脚本里用time.time()打印了分段耗时--- %s seconds ---方便判断慢在哪一步。低显存 offloadHunyuan3DPaintPipeline提供enable_model_cpu_offload(gpu_idNone, devicecuda)方法会把 delight 与 multiview 两个子模型的推理放到 CPU offload 模式适合显存紧张时的补充手段。已知限制显存形状 纹理全流程文档给出的参考值合计 16 GB VRAM这是使用 Hunyuan3D-Paint 的主要硬件门槛。纹理管线依赖custom_rasterizer与differentiable_renderer两个编译扩展缺少 nvcc 环境时custom_rasterizer无法编译安装纹理流程跑不起来。多视图输入字典式的 front/left/back 三视图属于形状生成的多视图模型用法见 examples/textured_shape_gen_multiview.py纹理步骤本身传入的仍是images[front]单张图。【免费下载链接】Hunyuan3D-2High-Resolution 3D Assets Generation with Large Scale Hunyuan3D Diffusion Models.项目地址: https://gitcode.com/GitHub_Trending/hu/Hunyuan3D-2创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →