Nodes/blender-in-comfyui/3D Model Param
ComfyUI Node

3D Model Param

The node that turns a GLB on your disk into a ComfyUI object

By JayLyu·Created about a year ago·Updated about a year ago· 5
3D Model Param
    • model
    folder_typeinput
    model_file_path
    position_x0.0
    position_y0.0
    position_z0.0
    rotation_x0.0
    rotation_y0.0
    rotation_z0.0
    scale_x1.00
    scale_y1.00
    scale_z1.00
    collection_name3D_Model

    Every scene in the Blender-in-ComfyUI pack starts the same way: with a model file somewhere on your disk that you want to stage, frame, and render. That's what this node is for. 3D Model Param points at a GLB, GLTF, FBX or OBJ file, lets you set where it sits, how it's rotated, and how big it is, then emits a MODELS object that the rest of the pack can build on.

    How it works - and the one mental model to fix

    The single most confusing thing about this pack is that MODELS is not mesh data. BL_Model_Param does not load vertices into the graph. It builds a small dictionary: the file path, a position tuple, a rotation tuple, a scale tuple, a name (taken from the filename), and a collection name. That dict is what travels on the wire. The actual geometry gets imported later, when BL_Scene_Composer runs Blender headless and tells it to open that file.

    That's a feature, honestly. It means this node is pure bookkeeping - no Blender subprocess, no heavy import, runs in milliseconds. But it also means the "model" only becomes real when the composer touches the disk, and if the file's gone, nothing downstream works. Keep that in mind and this pack is easy to reason about.

    Concretely, the node validates two things: the file must exist, and the extension must be one of .glb, .gltf, .fbx, .obj. Then it packages everything up.

    The inputs that matter

    • folder_type - input or output. This decides which ComfyUI folder the path resolves against: your ComfyUI/input/ directory (default) or ComfyUI/output/. Big gotcha: model_file_path is relative to that folder, not an absolute path. Drop chair.glb into input/ and enter chair.glb.
    • model_file_path - the file, relative to the folder above.
    • position_x / y / z, rotation_x / y / z, scale_x / y / z - the transform for this instance. Rotation is in degrees; scale defaults to 1. This is where you'd place a second chair or flip something to face the camera.
    • collection_name - defaults to 3D_Model. In the composed .blend, each model with the same collection name lands in one Blender collection (the composer auto-suffixes duplicates with _1, _2, … so they don't collide).

    Wiring it up

    The single model output (MODELS) flows two ways. The clean route: run two or three of these, feed them into a BL_Model_Merger, and let the merger hand the combined list to BL_Scene_Composer. You can also add a BL_Camera_Creator to the same merger if you want to frame the whole thing in one shot. The example workflow that ships with the pack does exactly this.

    Installing it

    This is one of seven nodes in the blender-in-comfyui pack, so the install is shared:

    cd ComfyUI/custom_nodes
    git clone https://github.com/JayLyu/blender-in-comfyui.git
    

    ComfyUI Manager works too, but the pack shells out to Blender with subprocess, which ComfyUI blocks by default - start ComfyUI with --allow-subprocess or the Blender-backed nodes will silently fail. You'll also need Blender 4.4+, which the pack auto-downloads into its own blender/ folder on Windows and Linux (manual placement on macOS). No extra pip packages.

    Troubleshooting

    The two errors this node can throw are both printed to the console, not shown in the UI: "Model file not found" means your path doesn't resolve against the folder you picked - check folder_type and drop the file in the right place. "Unsupported file format" means you handed it something that isn't GLB/GLTF/FBX/OBJ. And if you see None flowing out of this node into the composer, the composer will log "Model file not found" for every missing file - so fix the path here, not downstream.

    CategoryBlender

    Inputs (12)

    NameTypeDefaultDescription
    folder_typeCOMBOinput2 options: input, output
    model_file_pathSTRING
    position_xoptFLOAT0.0-1000–1000
    position_yoptFLOAT0.0-1000–1000
    position_zoptFLOAT0.0-1000–1000
    rotation_xoptFLOAT0.0-360–360
    rotation_yoptFLOAT0.0-360–360
    rotation_zoptFLOAT0.0-360–360
    scale_xoptFLOAT1.00
    scale_yoptFLOAT1.00
    scale_zoptFLOAT1.00
    collection_nameoptSTRING3D_Model

    Outputs (1)

    NameTypeDescription
    modelMODELS