ComfyUI Node

Load Mesh

Getting a real mesh into ComfyUI

By PozzettiAndrea·Created 10 months ago·Updated 4 days ago· 218
Load Mesh
    • mesh
    • texture
    file_path

    Every workflow in GeometryPack starts here. Load Mesh is the pack's I/O front door: it reads a mesh file from disk and hands you a TRIMESH - the shared mesh type every other node in this pack speaks. Without it you'd be stuck using only whatever meshes other nodes generate, and for most people the whole point is bringing in a scan, a download, or a model you already own.

    You pick a file from the file_path dropdown (it scans your ComfyUI input directory and related folders), and you get two outputs:

    • mesh - the TRIMESH itself. Wire this into Remesh, Decimate, Fix Normals, Boolean, Smooth Mesh, Transform Mesh, or anything else that takes a TRIMESH.
    • texture - an IMAGE output, the packed texture map if the file has one (OBJ + MTL, glTF, FBX with embedded textures, that kind of thing). Handy if you want to preview or process the texture in the same graph instead of just the geometry.

    The README lists the formats the pack handles: OBJ, FBX, PLY, STL, OFF. For a beginner the practical version is: OBJ and STL are the ones you'll see most; PLY is what point clouds and gaussian splats tend to arrive in.

    Why the mesh type matters

    ComfyUI's built-in world is images and latents; there's no native mesh type, so packs that do 3D have to invent their own. GeometryPack chose TRIMESH - the in-memory representation from the trimesh Python library, which is the backbone of this pack (it's the one required dependency, trimesh[easy]). The practical consequence: a TRIMESH output from Load Mesh plugs into any other GeometryPack node, but it won't plug into a random 2D image node - those live in a different world. If you want to see the mesh, route it through the pack's preview/visualization nodes instead of expecting a wire into a standard image preview.

    Install

    Load Mesh is just one node in the pack, so it's the pack install:

    cd ComfyUI/custom_nodes
    git clone https://github.com/PozzettiAndrea/ComfyUI-GeometryPack.git
    cd ComfyUI-GeometryPack
    pip install -r requirements.txt --upgrade
    python install.py
    

    Or search GeometryPack in ComfyUI Manager. Head's up from the README: the install uses the experimental comfy-env/pixi path and the first run can pull down a hefty environment - it's not the ten-second install some 2D node packs are. If a format fails to load that the README says is supported, the mesh may just be malformed or use features the loader doesn't cover; the author collects those reports in the repo's Discussions.

    Watch out

    The file dropdown only shows what the pack can see - if your mesh isn't in the dropdown, the file isn't in the directory the node scans. Drop it into ComfyUI's input folder (or wherever the dropdown points) and refresh. And remember the number one rule of the whole pack: garbage in, garbage out. A mesh that loads with flipped normals or holes will still have them after loading - fixing those is what the repair nodes are for, and you'll probably want one right after this.

    Categorygeompack/io

    Inputs (1)

    NameTypeDefaultDescription
    file_pathCOMBO29 options: 3d/ArmoredWarrior_00005_.glb, 3d/Stanford_Bunny.stl, 3d/camel_b.obj, 3d/camelhead.off, 3d/cow.off, 3d/fandisk.ply, +23

    Outputs (2)

    NameTypeDescription
    meshTRIMESH
    textureIMAGE