ComfyUI Node
kubakub scene render
Renders a 3D model of the building from the projector's camera and splits it into regions you can paint. Takes a 3D scene file (.blend .fbx .obj .abc .glb .gltf .stl .ply .usd) and gives the projection view from the file's camera: clay render, metric depth, normals and ID passes (shelves = the facade's depth steps, layers, facing, planes, loose parts, objects / materials / collections). The ID passes are written as a From ID Maps folder: connect 'folder' to kubakub regions from id maps (regions_pass e.g. shelves or parts). Needs Blender 4.x (runs headless). .c4d: export FBX or Alembic from Cinema 4D.
kubakub scene render
- projector
- clay
- ids_preview
- depth
- normal
- coverage
- folder
- scene_json
- report
- scene
- depth_gray
◄file►
◄width0►
◄height0►
◄frame-1►
◄passeselements sections floors shelves layers facing planes parts objects materials collections►
◄preview_passshelves►
◄shelf_min_step_m0.050►
◄plane_angle_deg3.0►
◄plane_offset_m0.020►
◄layer_bands_m-0.5 -0.05 0.05 0.5►
◄camera►
◄save_folder►
◄blender_path►
◄unit_scale1.000►
◄min_size_m0.50►
Categorykubakub/3d/scene
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| file | STRING | Your scene file: paste its path (Explorer: right click, Copy as path; the quotes are fine). Empty: the built-in sample building, so the node runs as it is. | |
| width | INT | 00–16384 | Render width; 0 = the file's render resolution (the matrix size). |
| height | INT | 00–16384 | Render height; 0 = the file's render resolution. |
| frame | INT | -1-1–100000 | Scene frame (animated cameras, Alembic); -1 = the file's current frame. |
| passes | STRING | elements sections floors shelves layers facing planes parts objects materials collections | ID passes to write, separated by spaces: elements sections floors shelves layers facing planes parts objects materials collections (objects / materials / collections only when the file has more than one). elements = windows, columns, cornices; sections = left / centre / right; floors = the storeys. |
| preview_pass | COMBO | shelves | Which ID pass to show on ids_preview (it is also written when 'passes' does not list it). |
| shelf_min_step_m | FLOAT | 0.0500.005–2 | shelves: depth steps closer than this (m) are one shelf. |
| plane_angle_deg | FLOAT | 3.00.1–30 | planes: neighbour faces within this angle are one plane. |
| plane_offset_m | FLOAT | 0.0200–1 | planes: and within this offset (m). |
| layer_bands_m | STRING | -0.5 -0.05 0.05 0.5 | layers: 4 limits (m, + = towards the camera) relative to the main facade plane -> deep_recess, recess, facade, relief, projection. |
| cameraopt | STRING | Camera object name. Empty: the file's active camera, else the first camera, else a front camera framing the model (it finds the facade side by itself). A connected projector replaces the file's camera. | |
| save_folderopt | STRING | Also copy the ID maps, legends, clay and scene.json here (for Houdini / After Effects). Empty: only the temp cache. | |
| blender_pathopt | STRING | blender.exe or its folder. Empty: the blender setting in kubakub.ini or the newest C:\Program Files\Blender Foundation install. | |
| unit_scaleopt | FLOAT | 1.0000.0001–10000 | Multiplies the model (and the camera position) into metres, e.g. 0.01 for a file in cm. The report warns when the model looks too small or big. |
| min_size_mopt | FLOAT | 0.500–50 | Pieces smaller than this across the wall (largest of width / height, m) merge into the neighbour they share the longest border with - the crowd cannot read them anyway. 0 = keep everything. |
| projectoropt | KUBA_PROJECTOR | From kubakub projector: where the projector stands (metres from the wall, height, throw). Used instead of the file's camera; set width / height to the projector's resolution. |
Outputs (10)
| Name | Type | Description |
|---|---|---|
| clay | IMAGE | Workbench clay render from the projection camera. |
| ids_preview | IMAGE | The preview_pass ID map. |
| depth | IMAGE | Camera depth, near = bright (turbo colours). |
| normal | IMAGE | World normals as colours. |
| coverage | MASK | 1 where the model is (a scope for the region nodes). |
| folder | STRING | ID-map folder -> kubakub regions from id maps. |
| scene_json | STRING | Camera, resolution, names, main plane, shelves. |
| report | STRING | Faces, camera, depth range, shelves, ID passes, cache use and the ID-map folder; warns when the model scale looks wrong. |
| scene | KUBA_SCENE | -> kubakub scene measure / kubakub scene preview. |
| depth_gray | IMAGE | Camera depth as grey, near = white, linear over the model's depth range (for Relief Field and depth nodes). |