Jacob Combrink 61a949fa29 Fix Hy3DBatchImagesSkippingBlanks to handle mismatched photo resolutions
torch.cat requires every frame to share H/W exactly, but real multi-photo
scene input (several phone photos of the same scene from different
angles) is rarely all identical resolution -- confirmed live: 9 sample
photos hit "Expected size 704 but got size 752" here.

Scale-to-cover + center-crop each mismatched frame to the first real
frame's resolution, not a plain stretch: a straight resize would distort
per-photo aspect ratio, which matters since the model reads perspective/
parallax cues from these images to estimate geometry. Cropping the
overflow keeps every photo's true proportions intact.
2026-09-01 15:36:11 +02:00
2026-06-13 10:16:31 +02:00
2026-06-13 10:16:31 +02:00
2026-06-13 10:16:31 +02:00
2026-06-13 10:16:31 +02:00

ComfyUI-Hunyuan3D

Lightweight custom nodes that complement ComfyUI's native Hunyuan3D-2 support (comfy_extras.nodes_hunyuan3d), filling in the gaps needed for a Graydient image-to-mesh pipeline:

  • Load Image From URL (Hunyuan3D) — downloads an input image from a URL, bypassing ComfyUI's local-file validation (needed for Graydient's init_image_url field mapping).
  • Mesh to Trimesh — converts the native MESH output of VoxelToMesh into a trimesh object.
  • UV Unwrap Mesh — single-chart UV unwrap via xatlas, so the shape-only mesh produced by Hunyuan3D-2 is ready for texture painting/baking in a follow-up workflow.
  • Save Trimesh — exports the unwrapped mesh to GLB/OBJ/PLY/STL/3MF/DAE.

Pipeline

LoadImage / Hy3DLoadImageFromURL
  -> ImageOnlyCheckpointLoader (hunyuan3d-dit-v2-mv-turbo)
  -> CLIPVisionEncode -> Hunyuan3Dv2ConditioningMultiView
  -> KSampler -> VAEDecodeHunyuan3D -> VoxelToMesh
  -> Hy3DMeshToTrimesh -> Hy3DUVUnwrapMesh -> Hy3DSaveTrimesh

For Graydient deployment, pair with Meshsmuggler to return the GLB through an image-only output channel.

S
Description
No description provided
Readme
48 KiB
Languages
Python 100%