# Hunyuan3D 2mv 三视图教程

从同一个原创玩具的正、左、背三张真实视图开始，用2mv专用模型约束形状，并把错误视图作为输入负例。三视图AI建模不能把不同物件的三张图混作证据。

## 执行范围

已执行：Blender 5.2.1原创几何、真实相机渲染、UV展开、CPU手工材质烘焙、GLB/OBJ导出重载；本题附带离线检查。未执行：目标项目模型下载/推理、Gradio运行、生成纹理/深度/视频mask。reference、geometry-reference、original命名文件都是原创输入或手工参考，绝非模型结果。官方图片只在网页按来源引用。

## 步骤

### 1. 先核对三图是否确为同一个物件

打开front.png、left.png、back.png：天线在同一侧，背面电池位置一致，主体尺度相近。三图由同一Blender几何渲染，素材身份可追溯；没有用不同图生成后假称多视图一致。

### 2. 保留front、left、back的明确键名

官方示例用字典传入三视角；顺序列表或凭文件名字母排序不能自动赋予方向语义。检查前景alpha和对象完整性，避免左右视图意外翻转。

### 3. 选择2mv专用权重与子目录

使用tencent/Hunyuan3D-2mv、hunyuan3d-dit-v2-mv及对应fp16规格。不能把普通2mini单图模型接收一张图的代码直接改成列表，就称支持多视图。

### 4. 保存正例和明显冲突负例清单

正例是同一玩具三图；negative-views.json只描述把back错误替换front的输入冲突，不伪造模型对冲突的实际反应。先用check-views.py发现重复视图，再决定是否继续推理。

### 5. 运行形状管线并独立保存GLB

run-hunyuan-task.py的multiview分支沿用官方字典与pipeline调用。真实结果写actual-multiview.glb；高显存环境未准备时在这里停止，不能复制手工参考充当输出。

### 6. 用同一角度比较单图与三视图

如果同时有实际2mini结果，固定查看器角度，检查背面电池和左侧天线；输入版本、模型和运行记录分开。两个不同模型的结果比较不能推导纯粹的视图数量因果。

### 7. 保存实际冲突和未解决结构

记录形状是否封闭、背面结构、局部浮片和失败输入。包内参考模型用于核对原创物件的已知结构，模型产出需你真实运行后补齐；不得只保留“最好看”的正面图。

## 命令

```bash
python3 check-views.py
# 在官方Hunyuan3D-2环境内执行专用多视图任务
python run-hunyuan-task.py --repo /path/to/Hunyuan3D-2 --task multiview --out actual-multiview.glb
```

## 参考文件

- 以“本题实际文件”列表为准：original-toy.png或front.png/views为Blender原创输入。
- 若本包含reference-colored.glb：它是手工材质参考。
- 若本包含reference-textured.obj/MTL/PNG：它们是Blender真实UV/烘焙交换文件。
- 若本包含geometry-reference-depth.npy/PLY：它们是原创场景已知几何，非深度模型预测。
- runtime.json：目标模型初始not-executed。
- verification.json / blender-reload.json：文件及重载证据，不是模型生成证据。

## 官方依据

https://github.com/Tencent-Hunyuan/Hunyuan3D-2
https://github.com/Tencent-Hunyuan/Hunyuan3D-2/blob/main/examples/shape_gen_multiview.py

## 本题实际文件

- `back-detail.png`
- `back.png`
- `blender-reload.json`
- `cameras.json`
- `check-views.py`
- `clay-back.png`
- `clay-front.png`
- `commands.md`
- `exchange-reload.json`
- `front-detail.png`
- `front.png`
- `helper-checks.json`
- `left-detail.png`
- `left.png`
- `negative-views.json`
- `original-toy.png`
- `reference-camera-scene.glb`
- `reference-clay.glb`
- `reference-colored.glb`
- `reference-texture.png`
- `reference-textured.glb`
- `reference-textured.mtl`
- `reference-textured.obj`
- `reference-vertexcolor.glb`
- `review.csv`
- `run-hunyuan-task.py`
- `runtime.json`
- `verify.py`
- `viewer.html`
- `viewer.js`
- `views/view-00.png`
- `views/view-01.png`
- `views/view-02.png`
- `views/view-03.png`
- `views/view-04.png`
- `views/view-05.png`

模型命令仅供在你准备好的官方环境执行；from_pretrained类入口首次运行可能拉取大权重，本轮没有执行。
