Nodes/ComfyUI-UltraShape1/UltraShape Convert To GLB/OBJ
ComfyUI Node

UltraShape Convert To GLB/OBJ

Preview your refined mesh without writing a file

By jtydhr88·Created 8 months ago·Updated 6 months ago· 183
UltraShape Convert To GLB/OBJ
  • refined_mesh
  • mesh
file_formatglb

Everything UltraShape does is expensive - a refine run is minutes of diffusion - so you want to look at the result before you commit to saving a file. That's this node's job: it takes the refined_mesh from UltraShape Refine and hands it to ComfyUI as a FILE_3D, which is the socket type ComfyUI's built-in 3D viewport nodes (Load3D, Preview3D) speak. No disk write, no file to go hunting for - the mesh materializes in the graph's 3D viewer where you can orbit it.

It's the iteration loop node. Run a refine, preview it, tweak octree_resolution or guidance_scale or the seed, run again, preview again - all without generating a folder full of throwaway .glb files. When you've got the geometry you want, swap in UltraShape Save GLB/OBJ for the real export.

What it takes, what it gives

  • refined_mesh - the ULTRASHAPE_OUTPUT from UltraShape Refine. Required.
  • file_format - glb (default), obj, or stl. Note the trimmer list: no PLY here, unlike the save nodes. Probably a deliberate simplification; for preview purposes nobody misses it.
  • mesh (output, FILE_3D) - the exported mesh, streamed into memory and handed to whatever 3D node you connect.

Under the hood it exports the mesh into an in-memory buffer (so nothing touches disk) and returns it as a FILE_3D object. Simple, and fast enough that the conversion itself is invisible next to the minutes the Refine node took.

Wiring and install

Connect refined_mesh from Refine in, mesh out to ComfyUI's built-in 3D preview node of choice. The pack's own example workflow uses the core Load3D / Preview3D nodes for display, and that's the natural pairing here. Because it's a conversion rather than a saver, this node is also the least-fussy way to get your refined geometry into anything else that consumes FILE_3D.

Install is the pack standard:

cd ComfyUI/custom_nodes
git clone https://github.com/jtydhr88/ComfyUI-UltraShape1
cd ComfyUI-UltraShape1
pip install -r requirements.txt

Restart; ComfyUI Manager installs it as ComfyUI-UltraShape1. No weights needed for conversion itself, though the upstream Refine node wants ultrashape_v1.pt in ComfyUI/models/UltraShape/. Two minor notes: the output is a preview-grade handoff, so don't treat it as your deliverable - when a run looks right, save it properly with the GLB/OBJ save node. And it's geometry only, same as everything in this pack: bare mesh, no textures, which is exactly what the refiner produced and what you should expect to see in the viewport.

CategoryUltraShape

Inputs (2)

NameTypeDefaultDescription
refined_meshULTRASHAPE_OUTPUT
file_formatCOMBOglb3 options: glb, obj, stl

Outputs (1)

NameTypeDescription
meshFILE_3D