Hunyuan 3D 2.1 Bake MultiViews
Where the six painted views stop being views and become one texture
- 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
Hy3DInPaintneeds to fix. - albedo_texture / mr_texture - the same textures as
IMAGEtensors, ready for previewing or feeding aSaveImage. - pipeline - passed through, still needed by
Hy3DInPaint.
The honest workflow
The full texture pipeline is: Hy3DMultiViewsGenerator → Hy3DBakeMultiViews → Hy3DInPaint. 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.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| pipeline | HY3DPIPELINE | — | |
| camera_config | HY3D21CAMERA | — | |
| albedo | IMAGE | — | |
| mr | IMAGE | — |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| pipeline | HY3DPIPELINE | — |
| albedo | NPARRAY | — |
| albedo_mask | NPARRAY | — |
| mr | NPARRAY | — |
| mr_mask | NPARRAY | — |
| albedo_texture | IMAGE | — |
| mr_texture | IMAGE | — |