Three Load Model
Drop a real 3D model into your ComfyUI scene
- object
If you've ever made a mesh from scratch in the WAS Node Suite Three family you know the geometry nodes only give you primitives - spheres, planes, toruses. Real scenes want real objects: a character, a product model, a scanned room. WASThreeLoadModel is the door in. It takes a model file off disk and places it in the scene as a Three object that you can then light, animate and render exactly like anything you built by hand.
What it loads
The file menu covers the common formats: .glb, .gltf, .dae, .fbx, .obj, .3mf, .stl and .ply. The dropdown lists what it finds in ComfyUI's input, output and temp folders. If your model lives somewhere else, the optional path input takes a full path - including the mesh_path that ComfyUI's own Load 3D node answers with.
Format matters for what you get out:
- .glb, .gltf, .dae, .fbx, .3mf bring their own materials along, so the object arrives dressed.
- .obj picks up a
.mtlbeside it. - .stl and .ply are bare geometry - no materials, no UVs. They arrive gray and take whatever material you wire in.
Wire nothing into the material side and the model keeps what it came with.
The inputs that matter
Three of them, really:
- scale - multiplies the model's own size. 1.0 leaves it as authored; 0.01 suits a model made in centimeters that arrives a hundred times too big.
- centre -
trueslides the model so its middle sits at the origin. This is almost always what you want, because it makes aiming a camera and rotating the object predictable. Turn it off if the model's saved coordinates mean something. - cast_shadow -
truelets every mesh in the file throw and receive shadows.
The output is a single object (THREE_OBJECT) that feeds Three Group or Three Scene's root - same socket a Three Mesh uses, so a loaded model slots into a scene alongside geometry you built from nodes.
Why this node pairs well
The Three family's superpower is that nothing about the model is baked. Because Three Load Model puts a real object in the scene graph, you can:
- aim lights at it and get true cast shadows,
- drive it with Three Play Animation - rigged
.glband.fbxcharacters carry their own clips - or rotate it with Three Animate Transform, - render or path trace it out to an image batch.
If you have a skinned character, that's the intended flow: load it here, wire it through Three Play Animation, then into the group. The pack even ships a three-skinned-model.json workflow showing the whole thing.
Install and gotchas
It's part of WAS Node Suite v3 - install via ComfyUI Manager (search WAS Node Suite v3) or:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui.git
Then restart. You need ComfyUI 0.14.0+ and Python 3.10+, and no extra packages for this family. One thing to remember: the actual loading happens in your browser tab when a scene runs, so keep a tab open and queue from it. If the Three nodes never show up in Add Node, check features.threejs in <ComfyUI user dir>/was-node-suite/config.yaml.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| file | COMBO | Which model to place. The menu lists every `.glb`, `.gltf`, `.dae`, `.fbx`, `.obj`, `.3mf`, `.stl` and `.ply` in ComfyUI's input, output and temp folders. | |
| scale | FLOAT | 1.000.0001–10000 | Multiplies the model's own size. 1.0 leaves it, 0.01 suits a model authored in centimetres. |
| centre | BOOLEAN | true | `true` moves the model so its middle sits at the origin; `false` keeps the coordinates it was saved with. |
| cast_shadow | BOOLEAN | true | `true` lets every mesh in the model throw and receive shadows, `false` neither. |
| pathopt | STRING | A model somewhere else, as a full path. Wire Load 3D's mesh_path here. Filled in, it is used instead of the menu. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| object | THREE_OBJECT | The loaded model, for Three Group or the root socket on Three Scene. |