ComfyUI Node

CRM Viewer

How you actually see the mesh — and where the .glb ends up

By flowtyone·Created 2 years ago·Updated 2 years ago· 155
CRM Viewer
  • mesh

    Every ComfyUI pipeline needs its "look at the thing" node, and for 3D that's harder than previewing an image - you need to orbit the object. CRM Viewer is that node: it takes the MESH coming out of CRM Modeler or CRM Modeler Cuda, saves it to disk, and renders it in an interactive three.js viewer right in the ComfyUI interface. It's an output node (the little "output" flag on the node is the giveaway): no outputs, one input, it's the end of the line.

    What it does

    • Input: mesh - a MESH object from either modeler variant.
    • Saves the file. It writes into your ComfyUI output directory as meshsave_*.obj for the CPU modeler path, or meshsave_*.glb when the mesh came from the Cuda modeler (which carries the UV/texture data a .glb wants). The viewer knows which path the mesh took and picks the format accordingly.
    • Displays it. The in-UI viewer is powered by the pack's web extension (a three.js visualization, credit to MrForExample's ComfyUI-3D-Pack for the interface approach), so you can click and drag to orbit the result immediately. No external GLTF viewer needed, though you'll likely drag the saved file into Blender anyway for anything real.

    One detail worth knowing: the CPU-path mesh gets an orientation transform applied before export (the model's coordinate convention doesn't match what you expect "up" to be), so the .obj you open in Blender should land roughly right-side up. The Cuda-path .glb doesn't need that nudge.

    Using it

    There's not much to tune - one input, no widgets that matter, it's a sink node. The practical workflow: run the modeler, watch the viewer, and if the mesh is a disaster, adjust the Pose Sampler settings or the preprocessing and re-run. The viewer caches nothing special; every run writes a fresh file with an incrementing counter, so you keep an archive of every mesh the graph produced. Browse ComfyUI/output/ to collect them.

    Installation and gotchas

    Same pack install as everything else - ComfyUI Manager (search "ComfyUI-Flowty-CRM") or clone + pip install -r requirements.txt. The in-UI viewer comes from the pack's web/ directory, which ComfyUI loads automatically from the extension; if the viewer pane doesn't appear, make sure the pack fully loaded on startup (check for errors in the console) and restart.

    Two things trip people up:

    • The file isn't in the model folders. It's an output, so it lands in output/, not models/ and not next to your checkpoints. New users hunt for the mesh in the wrong place constantly.
    • CPU meshes are .obj, Cuda meshes are .glb. If you set up a material pipeline expecting a .glb but used the CPU modeler, you got vertex colors in an .obj instead. That's not the viewer being broken, it's the modeler variant you chose. Want the texture-baked .glb? Use the Cuda modeler.

    And the pack-wide rules still apply: keep the whole graph on one device, mind the 8GB VRAM / 16GB RAM floor, and use the low-vram/ split workflows under 16GB VRAM - the viewer is the last thing to run, so the split workflows all funnel into this same node at the end.

    CategoryFlowty CRM

    Inputs (1)

    NameTypeDefaultDescription
    meshMESH

    Outputs (0)

    No outputs