Nodes/ComfyUI-Hunyuan3d-2-1/Hunyuan 3D 2.1 Bake MultiViews
ComfyUI Node

Hunyuan 3D 2.1 Bake MultiViews

Where the six painted views stop being views and become one texture

By visualbruno·Created about a year ago·Updated 5 days ago· 375
Hunyuan 3D 2.1 Bake MultiViews
  • pipeline
  • camera_config
  • albedo
  • mr
  • pipeline
  • albedo
  • albedo_mask
  • mr
  • mr_mask
  • albedo_texture
  • mr_texture

Hy3DMultiViewsGenerator gives you six (or however many) separate painted views of your object. Hy3DBakeMultiViews is the node that welds them into a single seamless texture that wraps the whole mesh. It's the "bake" step, and it's the point where the whole texturing pipeline either clicks or turns into a smeary mess.

The inputs are exactly what the multiview generator outputs: the pipeline (HY3DPIPELINE state object), the camera_config, and the albedo and mr (metal/rough) image sets. Wire it right after Hy3DMultiViewsGenerator and you've got the canonical texturing pair.

How it works

The node passes your views to pipeline.bake_from_multiview(...), which uses the camera config's elevations, azimuths, and weights to project each view onto the mesh's UV map. Where multiple views cover the same surface, the weights decide whose color wins. Out come two baked texture maps plus masks. The magic is that it's diffusion-consistent: because Hunyuan painted every view from the same image, the seams are usually mild - which is exactly what the next node (Hy3DInPaint) was built to erase.

The outputs

  • albedo / mr - the baked color and metal-rough texture maps as NPARRAYs.
  • albedo_mask / mr_mask - which pixels were actually covered by the bake; areas the views missed show up here as holes. These are the seams and gaps Hy3DInPaint needs to fix.
  • albedo_texture / mr_texture - the same textures as IMAGE tensors, ready for previewing or feeding a SaveImage.
  • pipeline - passed through, still needed by Hy3DInPaint.

The honest workflow

The full texture pipeline is: Hy3DMultiViewsGeneratorHy3DBakeMultiViewsHy3DInPaint. Bake without inpaint leaves visible stitched lines where view boundaries meet; inpaint without bake has nothing to fix. The two nodes are designed as a pair, and every example workflow treats them that way.

Installing and troubleshooting

Install comes with the pack plus its two C++ extensions (custom_rasterizer and the differentiable renderer - the renderer is what actually does the projection):

cd ComfyUI/custom_nodes
git clone https://github.com/visualbruno/ComfyUI-Hunyuan3d-2-1
cd ComfyUI-Hunyuan3d-2-1
pip install -r requirements.txt

If the bake produces black or empty textures, the pipeline never got real views - check that Hy3DMultiViewsGenerator actually ran before this (pipeline objects don't survive a partial queue). If the texture has hard seams, that's not a bug, that's the normal intermediate state - run Hy3DInPaint and they disappear. And if you're wondering where the "save to disk" version is, that's Hy3DBakeMultiViewsWithMetaData, which does all this and writes the result plus metadata so you can upscale or reuse views later.

CategoryHunyuan3D21Wrapper

Inputs (4)

NameTypeDefaultDescription
pipelineHY3DPIPELINE
camera_configHY3D21CAMERA
albedoIMAGE
mrIMAGE

Outputs (7)

NameTypeDescription
pipelineHY3DPIPELINE
albedoNPARRAY
albedo_maskNPARRAY
mrNPARRAY
mr_maskNPARRAY
albedo_textureIMAGE
mr_textureIMAGE