Build a rough 3D set from boxes, spheres, planes, cylinders, tori, and lights. Move things by hand or ask the agent to do it, then render the scene as a reference image for a shot.

Quick access: Click the + button in the workspace tab bar and choose New 3D model, or open a .glb or .gltf asset and switch its tab to edit mode.


What a 3D model is

A 3D model in NodeTool is a glTF asset. The editor reads and writes .glb and .gltf files only. A new model is a .glb, and Save always writes binary glTF back over the same asset. The asset id does not change, so anything that points at it keeps working.

File Opens in the editor Notes
.glb, .gltf Yes Editable and saveable
.obj, .fbx, .stl, .ply, .usdz No The tab opens, but the viewer reports that the format is not supported. Supported formats are .glb and .gltf

When a model is not editable, or the tab is in view mode, you get the viewer instead. The viewer orbits, zooms, and toggles the grid, axes, and wireframe. See Asset Management.


Creating or opening a model

There are four ways in.

  1. New model. Click + in the workspace tab bar and choose New 3D model. NodeTool creates an asset in the current project that holds a single box named “Box”, and opens it in edit mode.
  2. From an asset. Open a .glb or .gltf in the asset viewer and click Edit in 3D Editor. This button appears for assets in your library.
  3. From the examples. On the Examples page, open the 3D models tab. It lists low-poly game models in six packs: Adventure, Dungeon, Platformer, Seaside, Sci-fi, and Sci-fi outpost. Open model copies the model into the current project and opens the copy in edit mode, so the original stays untouched.
  4. From the agent. Ask the agent to create a model, as described under Asking the agent.

Layout

The editor has a toolbar across the top and three panels under it.

  • Scene on the left is the outliner.
  • The viewport is in the middle.
  • Properties is on the right.
  • Assistant is an optional chat panel on the far right. You can resize it.

The viewport starts with the camera at a three-quarter view, shows a ground grid, and lights the scene with a studio environment. That lighting is for editing only. It is not saved into the model and does not count as a light in the scene.

Toolbar

Control What it does
Translate, rotate, scale toggle Sets the gizmo mode. Shortcuts: G, R, S
Add Adds a shape or light. See Adding and deleting objects
Delete Removes the selected object and its children. Shortcut: Delete or Backspace
Frame scene Fits the camera to everything in the scene
Toggle grid Shows or hides the grid
Assistant Shows or hides the chat panel. NodeTool remembers whether you left it open
Save Writes the scene back to the asset. Shortcut: Ctrl+S or Cmd+S
Close Returns the tab to view mode

The shortcuts work only while this editor is the visible tab.


The outliner

The Scene panel lists every object in the scene as a tree, with children indented under their parent. Each row shows an icon for the object type (mesh, light, camera, or group), its name, and an eye button that hides or shows the object. An empty scene shows “Scene is empty”.

Click a row to select the object. Click empty space in the viewport to clear the selection.


Adding and deleting objects

Add opens a menu with seven entries:

Entry Starts as
Box 1 x 1 x 1
Sphere Radius 0.5
Plane 2 x 2, laid flat
Cylinder Radius 0.5, height 1
Torus Radius 0.5, tube 0.2
Directional Light White, intensity 1, placed at 2, 3, 2 and aimed at the origin
Point Light White, intensity 1, placed at 0, 2, 0

New shapes get a light grey material with low metalness and high roughness. Each new object gets a unique name, so you can address it later by name.

There is no entry for cameras or spot lights. A camera or spot light that comes in with an imported model shows up in the outliner.


Transforms and the gizmo

Select an object and a gizmo appears on it. Drag the gizmo handles to move, rotate, or scale the object. Switch modes with the toolbar toggle or the G, R, and S keys.

For exact values, use the Object tab in the Properties panel. Position, Rotation, and Scale each have X, Y, and Z fields. Rotation is in degrees. The numbers update while you drag the gizmo.

Children move with their parent, because transforms are relative to the parent in the tree.


Properties

The Properties panel has up to three tabs. Which ones appear depends on what you selected.

Object

Every object has the Object tab:

  • Name, Visible, Frustum Cull, and Render Ord
  • Cast Shadow and Recv Shadow for meshes
  • A Transform section with Position, Rotation, and Scale
  • A Light section for lights, described next

Lights

A light has Color and Intensity. A point light also has Distance and Decay.

A directional light shines down its own forward axis. Use the rotate gizmo to aim it. Lights are written into the file with the glTF KHR_lights_punctual extension, so other glTF tools read them.

Geometry

Shapes you added from the Add menu get a Geometry tab. It edits the size and segment counts of that shape and rebuilds the mesh live. A box has width, height, depth, and segments. A sphere has radius, segments, and angle ranges. The plane, cylinder, and torus have their own sets.

Meshes that arrive inside an imported model have no editable geometry parameters, so they have no Geometry tab.

Material

Meshes get a Material tab. It has:

  • Colors: Color, Emissive, and a few specialty colors
  • Sliders: Metalness, Roughness, Emissive intensity, Opacity, and the physical-material set (Clearcoat, Sheen, Transmission, Iridescence, IOR, and others)
  • Toggles: Transparent, Wireframe, Flat Shading, Depth Test, Depth Write, and others
  • Side, with Front, Back, and Double

For a blockout, Color, Roughness, and Metalness are usually enough.


Asking the agent

Click the sparkle button in the toolbar to open the Assistant panel. It is labeled “3D Assistant” and suggests prompts such as “add a red box and a sphere above it”, “make the floor blue”, and “list everything in the scene”.

While the editor is the visible tab, the agent works on the live scene, and you see each change as it happens. It can:

  • List the scene and read the selection
  • Add shapes and lights, and select, rename, show, hide, or delete objects
  • Set position, rotation (degrees), and scale
  • Set a mesh’s material color
  • Frame the scene and capture a screenshot of the viewport, which it can look at to check its own work

Objects are addressed by id or by name, and names are matched without regard to case. Duplicate names make that ambiguous, so give objects distinct names.

The agent changes the open scene. Changes are not on the asset until you press Save.

Outside the editor, the agent can also work on a model by asset id with no editor open. It can list models, create a model (optionally building the whole scene in the same call), read the scene with its bounds, apply up to 60 edit operations in one call, and validate the glTF. These edits save straight to the asset, and an open editor reloads it. See the nodetool-3d-scene skill for the operation list.

A few things need an open editor with a working WebGL context: framing the scene and capturing the viewport.


Rendering a shot reference

The editor viewport is a quick preview. For a rendered image, the agent has a render_model3d tool that renders a saved model through headless Blender and store the result as a PNG image asset.

The editor has no Render button. You ask the agent for the render in chat, for example “render the set from a low angle at 1920 by 1080”. The render takes these settings:

Setting Default Notes
Camera Scene camera if the model has one, otherwise an orbit camera Orbit cameras take azimuth (45 degrees), elevation (25 degrees), field of view (35 degrees), and a zoom multiplier
Size 1024 x 1024 Plus a resolution percentage
Lighting studio Presets are studio, soft, and flat. Used only when the scene has no lights of its own
Light intensity 1 Multiplies the preset lights
Background #808080 Or transparent
Engine eevee cycles is slower and higher quality
Samples 16 Denoise is on by default and applies to Cycles

Requirements and behavior:

  • Blender 5.2 or newer must be installed on the machine that runs the NodeTool server. NodeTool looks at BLENDER_PATH first, then blender on PATH, then the usual install locations. Set BLENDER_PATH to the executable if it is not found.
  • Rendering is off on cloud deployments. It is available on the desktop app, a local server, and a self-hosted install. A server without Blender answers with an error that names the missing install.
  • The render reads the saved asset. Press Save before you ask for a render, or the image will not show your latest edits.
  • A render can run in the background. The agent gets a generation id and collects the finished image later.
  • The result is an image asset in your library, so you can use it anywhere an image goes.

If you prefer a graph, the Blender nodes (nodetool.blender.RenderImage, RenderAnimation, RenderPasses, PrepareForEngine, and ExportModel) use the same Blender install.


Exporting

Save is the export. It serializes the scene to a .glb and updates the asset, then shows “Saved” with the asset name. Animations that came with an imported model are kept. Open the asset in the Asset Explorer to download or reuse the file like any other asset. See Asset Management.


Using a model elsewhere

  • Workflows. Drag the asset from the Asset Explorer onto the canvas to add a nodetool.constant.Model3D node.
  • Timelines. The timeline add menu has a 3D model entry that lists the glTF assets in your library and places the one you pick as a clip on a video or overlay track. You can also drag the asset onto a track. See Video Editor.
  • Image references. A rendered PNG is an ordinary image asset, so you can drop it into a sketch or use it as a reference in an image workflow.

The editor has no direct link to the storyboard surface. Use a rendered image asset to bring a set into one.


Limits

  • Only .glb and .gltf files open in the editor.
  • You cannot add cameras or spot lights from the Add menu, and you cannot add new materials or textures. You can change existing material values.
  • The viewport camera is not saved. It is for looking around, not for authoring a shot.
  • The editor has no render button. Rendering goes through the agent and needs Blender 5.2 or newer on the server, and it is unavailable on cloud deployments.
  • The agent can work on the live scene only while the editor is the visible tab.
  • A render uses the saved asset. Unsaved edits do not appear in it.
  • One edit_model3d call applies at most 60 operations.