Nodes/WAS Node Suite v3/Three Box Geometry
ComfyUI Node Runs on cloud

Three Box Geometry

The unit cube your first 3D scene starts from

By WASasquatch·Created 3 years ago·Updated 4 days ago· 1,844
Three Box Geometry
    • geometry
    width1.00
    height1.00
    depth1.00
    width_segments1
    height_segments1
    depth_segments1

    Every 3D scene you've ever seen started somewhere silly, and in the WAS Three.js suite that somewhere is usually a box. Three Box Geometry makes a rectangular box sized in scene units, centred on its own origin - a 1×1×1 cube by default. It's the node you wire up first to check that your whole render pipeline works, before you get fancy. Get a unit cube showing up in Three Viewer with a light on it and you now know geometry, material, mesh, scene and renderer are all talking to each other.

    It's the purest example of how the whole Three suite works, so it's worth saying plainly: this node doesn't build anything. It describes a box - width, height and depth in scene units - and hands that description down the wire. The actual geometry is constructed in your browser by the three.js bundled in the pack, and nothing is rendered on the server. That's why a pack with 43 3D nodes can ship with zero Python dependencies.

    What you actually set:

    • width / height / depth - the size along X, Y and Z. All three at 1.0 is a unit cube. Make height 0.1 and it's a flat slab; make depth 0.1 and it's a thin panel. You'll spend most of your time here.
    • width_segments / height_segments / depth_segments - how many divisions across each face. The default 1 leaves perfectly flat faces, which is right for a plain box. You only raise these when a shader or a displacement map needs actual vertices to move - a flat face with no subdivisions has nowhere for a shader to bend. For a normal box, don't touch them.

    The geometry output feeds the geometry socket on Three Mesh, paired with a material from Three Basic Material, Three Standard Material or friends. One geometry can feed several meshes and the browser builds each shape once, so a hundred identical boxes sharing a material cost one geometry and one material - that sharing is built into the descriptor system.

    Where it sits in a workflow

    The chain you'll build a hundred times: Three Box Geometry → Three Mesh (with a material) → Three Group → Three Scene → Three App → Three Viewer. Once that cube renders, change the material, add a second box, drop in a Three Area Light, and you're halfway to a real scene. This is genuinely the node to start any new Three workflow with, because it's the fewest moving parts that still exercises the whole graph.

    Installing it

    It's part of WAS Node Suite v3 - install the pack and the whole Three category appears. ComfyUI Manager: search WAS Node Suite v3, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/WASasquatch/was-node-suite-comfyui.git
    

    Restart after; needs ComfyUI 0.14.0+ and Python 3.10+. No pip packages, no model downloads - three.js is bundled with the pack. If the menu's missing, set features.threejs: true in <ComfyUI user dir>/was-node-suite/config.yaml and restart.

    If it looks wrong

    A box that's invisible is almost never a geometry problem - it's the material (Basic Material needs no light, Standard Material needs one) or the camera looking away from it. And if a shader or displacement is doing nothing to your box, that's the segment counts: leave them at 1 and there are no vertices to move.

    CategoryWAS Suite/Three

    Inputs (6)

    NameTypeDefaultDescription
    widthFLOAT1.000.0001–100000Size along X in scene units. 1.0 is a unit cube, 2.0 twice as wide.
    heightFLOAT1.000.0001–100000Size along Y in scene units. 1.0 is a unit cube, 0.1 a flat slab.
    depthFLOAT1.000.0001–100000Size along Z in scene units. 1.0 is a unit cube, 0.1 a thin panel.
    width_segmentsINT11–1024How many divisions across X. 1 leaves flat faces, 32 gives a shader room to bend them.
    height_segmentsINT11–1024How many divisions across Y. 1 leaves flat faces, 32 gives a shader room to bend them.
    depth_segmentsINT11–1024How many divisions across Z. 1 leaves flat faces, 32 gives a shader room to bend them.

    Outputs (1)

    NameTypeDescription
    geometryTHREE_GEOMETRYThe box shape, for the geometry socket on Three Mesh.