Nodes/ComfyUI-Pixaroma/3D Builder Pixaroma
ComfyUI Node

3D Builder Pixaroma

Build a scene in ComfyUI and pipe it into ControlNet

By pixaroma·Created 5 months ago·Updated 4 days ago· 357
3D Builder Pixaroma
    • image
    • width
    • height

    3D Builder Pixaroma is a full 3D scene editor that runs inside ComfyUI. Open the fullscreen editor, drop in shapes, arrange them like a miniature set designer, and the node renders the scene to an image you can wire straight into your graph. It's the fastest route to "I want to generate this exact composition, not a random one" - you block out the camera angle, the objects, the layout, and let the model fill in the rest.

    Why would you want a 3D scene inside an image-generation tool? Because the single most reliable way to control where things go is a ControlNet conditioned on structure - depth maps, line art, normal maps - and a 3D scene gives you those for free. This is the old pre-visualization trick: a rough 3D block-out of your shot, rendered to a depth map, fed into ControlNet so the generated image respects the composition you set up. The KB on ControlNet puts it plainly: depth conditioning is how you make "closer objects in front, farther behind" actually hold. This node is the fastest way to produce that depth input without leaving ComfyUI, and it doubles as a reference renderer for any img2img pass.

    What you get in the editor

    • Primitives - cubes, spheres, cylinders, torus, a blob, terrain, rock, teapot, hollow vessels.
    • Composite assets - trees, houses, furniture, flowers, so "reference scene" scenes actually look like something.
    • Your own models - import .glb / .obj files.
    • Camera controls (orbit, pan, zoom), realistic lighting, undo/redo, and a live preview.

    The keyboard shortcuts are Blender-layout on purpose: G to grab, S to scale, R to rotate, Shift+D to duplicate, Numpad 1/3/7 for view presets. If you've touched Blender even once, your hands already know this editor.

    Inputs and outputs

    There are no required inputs - you build the scene in the editor. Outputs are the practical part: image (the rendered scene), plus width and height. The render lands as a standard IMAGE, so you can drop a depth/normal preprocessor after it for ControlNet, or wire it straight into img2img. When you add a background-image layer in the editor, it creates a dynamic input slot you can wire an upstream image into - the tooltips for those live on the JS side, so don't hunt for them in the Python schema.

    Installing it

    It's in the ComfyUI-Pixaroma pack - ComfyUI Manager search Pixaroma, Install, restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/pixaroma/ComfyUI-Pixaroma
    

    No extra Python dependencies and no model downloads - the editor renders locally in your browser. That's genuinely rare for a 3D tool and worth appreciating.

    Gotchas

    The editor is browser-rendered, so it's as fast as your machine's WebGL, not your GPU's raw speed - fine for block-outs, not for final-quality rendering. And remember the division of labor: the 3D scene gives you structure; the model gives you texture and style. Generate the render, run it through a ControlNet depth preprocessor, and keep your ControlNet weight moderate - heavy conditioning can make the result look like a screenshot of the block-out instead of a rendered scene. The author is an active tutorial maker (YouTube, plus update posts on r/comfyui), so when you want a walkthrough, they're already shipping them. As always: after a pack update, hard-refresh (Ctrl+Shift+R / Cmd+Shift+R) before debugging.

    Category👑 Pixaroma/🎨 Editors

    Inputs (0)

    No inputs

    Outputs (3)

    NameTypeDescription
    imageIMAGEThe rendered 3D scene.
    widthINTImage width in pixels.
    heightINTImage height in pixels.