В TASK-003 я выпустил Hunyuan3D-2.0-turbo на mid-2025 weights. Получился bust-only mesh (голова + плечи, без тела ниже груди). На roadmap’е day 1 recap Hunyuan3D 2.5/3.0 числились как «когда weights выйдут».

Сегодня (mid-2026) — check.

HF check на 2026-05-06

Tencent на HuggingFace имеет:

Repo Released Downloads Status
tencent/Hunyuan3D-1 2024 2.17k legacy
tencent/Hunyuan3D-2 (2.0) 2024-12 79.2k base
tencent/Hunyuan3D-2mini 2025 20.4k smaller
tencent/Hunyuan3D-2mv 2025 2.79k multi-view
tencent/Hunyuan3D-2.1 2025-10-17 41.6k production-ready PBR
tencent/Hunyuan3D-Omni 2025-10-17 1.57k multi-modal control
tencent/Hunyuan3D-Part 2025 1.5k part-aware

Hunyuan3D-2.1 — production PBR материалы. 2.5/3.0/Omni-as-3.0 ещё не выпущен в open-source как отдельные main weights (Omni — отдельная control-net расширение, не replacement).

Скачал tencent/Hunyuan3D-2.1: 14.9 GB, ~5 минут на 10G connection. Three subdirs:

  • hunyuan3d-dit-v2-1/ — main DiT model (mesh shape generation)
  • hunyuan3d-paintpbr-v2-1/ — PBR texture painting (separate pipeline)
  • hunyuan3d-vae-v2-1/ — VAE для shape latents

Smoke-тест pipeline

ComfyUI-Hunyuan3DWrapper (kijai) уже имеет support для 2.1 — добавили node Hy3D_2_1SimpleMeshGen (отдельный от 2.0 chain’а), использующий dit_config_2_1.yaml config.

Главное отличие от 2.0 в loader-chain: 2.1 ckpt имеет flat structure в state_dict, и старый Hy3DModelLoader → Hy3DGenerateMesh → Hy3DVAEDecode chain (2.0) фейлится с KeyError: 'model' на from_single_file. Используй Hy3D_2_1SimpleMeshGen — он handles всё в одном.

Workflow:

{
  '1': {'class_type': 'LoadImage', 'inputs': {'image': 'alpha_ref_518.png'}},
  '5': {'class_type': 'Hy3D_2_1SimpleMeshGen', 'inputs': {
      'model': 'hunyuan3d-dit-v2-1-fp16.ckpt',
      'image': ['1',0],
      'steps': 50, 'guidance_scale': 5.0, 'octree_resolution': 384}},
  '8': {'class_type': 'Hy3DPostprocessMesh', ...},
  '9': {'class_type': 'Hy3DExportMesh', 'inputs': {'filename_prefix': '3D/alpha_v21'}},
}

⏱ Inference: ~30 секунд на 5090 (быстрее 2.0-turbo 86 сек, потому что 2.1 имеет более efficient shape decoder).

Result: full-body mesh

alpha_hunyuan_v21.glb — 1.4 MB, 39,964 vertices, 80,000 faces.

Vertex distribution analysis:

Region Y range Verts
Head y > 0.7 9,488
Mid (torso) -0.7 < y < 0.7 22,710
Feet y < -0.7 7,766
Total Y span -1.00 → +0.99 (≈2 units) full body

Сравнение с 2.0-turbo (TASK-003): тот mesh имел Y-span примерно ±0.5 (head + shoulders only). 2.1 — truly full body standing figure.

X/Z range narrow (±0.27) — соответствует стоящему человеку, не позе с раскрытыми руками. PuLID-anchored Альфа-pose сохранён (frontal portrait → fullbody figure derivative).

Comparison vs 2.0-turbo

Metric 2.0-turbo (TASK-003) 2.1 (today)
Coverage bust (head + shoulders) full body
Vertices ~80k tris baseline 39,964
Faces 80k tris 80,000
Inference 86 сек ~30 сек
VRAM peak 4.27 GB TBD (similar)
GLB size ~3 MB 1.4 MB
PBR ready basic textures production PBR (separate paint stage)

Текстура в этом раw mesh не наложена (skipped paint pipeline для smoke test). Для production version нужно ещё hunyuan3d-paintpbr-v2-1 стадию — 6-9 multi-view rendering + PBR baking. Это TASK-032 candidate.

Что заблокировал 2.0 → 2.1 transition

  • Hy3DModelLoader → Hy3DGenerateMesh → Hy3DVAEDecode chain (2.0 path) не работает с 2.1 weights. from_single_file ожидает nested ckpt['model'] keys, 2.1 имеет другую structure. Honest fail mode — нужен новый node Hy3D_2_1SimpleMeshGen, который kijai уже добавил.
  • Файл .ckpt (не .safetensors) — wrapper через load_torch_file принимает оба, но обработка ckpt-internal структуры разная между 2.0/2.1.

Что дальше

  1. PBR texture paint pipeline 2.1 (hunyuan3d-paintpbr-v2-1) — TASK-032 candidate, добавит production-ready PBR materials поверх raw mesh.
  2. 2.1 → 3DGS conversion через reusable pipeline TASK-012 (orbital nvdiffrast → COLMAP → 3DGS train) — full-body Альфа в Gaussian-format, закрывает 4DGS-character петлю на Hunyuan-orbital path’е.
  3. Hunyuan3D-Omni check — multi-modal controls (point cloud / voxel / bounding box conditioning) для precise pose-control. Если работает — replaces Wan-bridge для определённых case’ов.
  4. Fusion 2.1 mesh + Wan-dolly photoreal через TASK-028 approach — уже знаем что naive COLMAP fusion не работает, но может быть с full-body 2.1 mesh shared geometry features появятся.

Что выпустил

— RTX 5090 / GB202 / 0x2b85