Nodes/ComfyUI-UltraShape1/UltraShape Load Mesh
ComfyUI Node

UltraShape Load Mesh

The plain loader that turns a mesh file into a TRIMESH socket

By jtydhr88·Created 8 months ago·Updated 6 months ago· 183
UltraShape Load Mesh
    • mesh
    pathinput.glb

    Boring in the best way. UltraShape Load Mesh reads a mesh file off disk (GLB, OBJ, PLY, STL - whatever trimesh can open) and hands you a TRIMESH object. No sampling, no voxelization, no model required. It exists because the rest of the pack needed a way to get a mesh from disk into the TRIMESH world, which is the socket type the Trellis2 nodes and this pack's own interop nodes speak.

    It's one of the four TRIMESH-interop nodes added in the pack's 0.2.0 update, and it sits on the "source mesh" side of the graph. Typical use: you have a coarse mesh file saved from an earlier run, load it here, then wire the mesh output into UltraShape Load Coarse Mesh From Trimesh so the refiner can sample it. It's also handy as a general mesh-to-TRIMESH utility if you're already living in the Trellis2 world and just need a file on disk turned into a socket.

    Inputs and output

    Exactly one input, one output:

    • path (string, default input.glb) - the mesh file. Absolute paths work as-is. Relative paths resolve against your ComfyUI root, so input/mesh.glb or even output/mesh.glb both work - note it does not auto-assume input/ the way Load Coarse Mesh does; a bare mesh.glb resolves to <ComfyUI root>/mesh.glb, which almost certainly isn't where you put it. Write the full relative path.
    • mesh (output, type TRIMESH) - the loaded trimesh.Trimesh, loaded with force="mesh" and merged primitives, ready to plug into Load Coarse Mesh From Trimesh or any Trellis2-family node.

    If the file doesn't exist, the node throws a clear FileNotFoundError with the resolved path printed - the most common failure is a missing input/ prefix or a typo in the filename, and the error message tells you exactly what it looked for, so read it before retrying.

    Install and the usual pack stuff

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

    Restart ComfyUI. This node doesn't need the model weights at all - it's pure geometry loading - but you'll want ultrashape_v1.pt in ComfyUI/models/UltraShape/ for the rest of the graph anyway. ComfyUI Manager installs the pack as ComfyUI-UltraShape1.

    Two honest caveats. First, the TRIMESH output socket only connects to nodes that advertise a TRIMESH input - if you don't have a Trellis2 pack or this pack's From Trimesh node, this node looks like a dead end. Second, it's a utility, not a feature: don't expect any preprocessing, normalization, or magic. If you just want to load a mesh and refine it, Load Coarse Mesh (the file-path one) is fewer nodes; reach for this one when your downstream is the TRIMESH ecosystem, not the refiner directly.

    CategoryUltraShape/Loaders

    Inputs (1)

    NameTypeDefaultDescription
    pathSTRINGinput.glbAbsolute path or path relative to ComfyUI root (e.g. input/mesh.glb)

    Outputs (1)

    NameTypeDescription
    meshTRIMESH