FREEcommercial use · no sign-up

String lights

Low-poly rooftop festoon lights: a black cable sags in two swags between three timber posts set in brick planter boxes, carrying warm white pear bulbs under black sockets. A lead runs down one post to a plug on the roof.

String lights 3D model

Left rail: colours and the 4 knobs the agent wrote into this model — they rebuild the geometry and go into your download. Right rail: looks for the viewer. Drag to orbit, scroll to zoom.

Triangles
2,108
Vertices
6,324
Meshes · materials
10 · 10
Size (W × H × D)
4.6 m × 2.7 m × 1.3 m
File
GLB · 158 KB
Animation
Static

Palette · named materials

  • brick red: planter boxes#c32222
  • brick red dark: planter rims and plinths#821717
  • dark wood: posts and planter soil#3d2a1c
  • sunset orange: post caps and hook collars#ed7e1d
  • tar grey dark: cable clips and plug#525860
  • soot black: cable, lead and bulb sockets#1b1b22
  • warm white: bulbs (faintly self-lit)#f2ede2

Use it

import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";

const gltf = await new GLTFLoader().loadAsync(
  "https://assets.stoicsoft.com/1designtool/3d/models/rooftop-district-string-lights/646d3ff186/model.glb"
);
scene.add(gltf.scene); // metres, +Y up, front faces +Z

How it was made

The brief given to 1DesignTool's “3D object” template:

String lights for the Rooftop District kit. Design it as one clear asset at believable real-world scale for that setting (state the size in metres in meta.notes), with its main parts modelled and named, readable at thumbnail size and from every orbit angle. This is one part of the Rooftop District kit (Low-poly style, flat-lowpoly direction): Life above the streets. Use ONLY the kit palette, by name: brick red #c32222, tar grey #757e8a, sunset orange #ed7e1d, water-tower brown #6b4a2e, brick red dark #821717, tar grey dark #525860, brick red light #db5757, tar grey light #a3a5a8, soot black #1b1b22, warm white #f2ede2, mid grey #7d828c, dark wood #3d2a1c. Every material's `name` must be exactly the palette colour it uses — the GLB carries these names so the kit recolours as one; an unnamed material fails delivery. Kit knob: expose a param `skylineHeight` (0–1, default 0.5) for the kit's "Skyline height" setting wherever it makes sense on this part, and keep that id.
  • Agent: Claude Code · Claude Opus 5.5 in 1DesignTool
  • Direction: Low-poly · family products
  • three-check PASS · glb-lint PASS
Make your own with 1DesignTool →

Named parts · 5

  • String lights
  • Planter bases
  • Posts and hooks
  • Cable and plug lead
  • Bulbs and sockets

Note: Size: about 4.6 m wide (X) by 1.28 m deep (Z) by 2.67 m tall at default. Three 90 mm timber posts stand in 0.5 m brick planters; the outer posts sit 0.3 m back and the middle post 0.3 m forward, so the two 2 m swags form a shallow V toward the front. Posts top out at 2.6 m, and the cable sags 0.35 m with 7 bulbs per span. Bulbs and cable are drawn slightly oversize so they read at thumbnail size. The origin is at the bottom centre and the model rests on y = 0. The exported model has 2,108 triangles in 10 meshes. Every material is named exactly after a kit palette colour; 7 of the 12 are used. The bulbs carry a faint emissive in their own warm white; there are no light objects in the GLB, so add your own point lights if you want them to cast light. The model is static, with no animation clip. Params are baked into the GLB at their defaults and only change the model when the scene is rebuilt in the viewer. skylineHeight (the kit's 'Skyline height') sets the posts from 2.1 m at 0 to 3.1 m at 1. Sag is capped so bulbs always hang well clear of the planters. glb-lint reports 0 errors and 4 heuristic warnings: duplicate material names from the exporter's per-mesh clones, non-indexed geometry (deliberate flat shading), posts nested in planters, and a 2.7 m height against the direction's 1 m reference. Its verdict reads UNVERIFIED only because no host requirements contract was supplied. plan-check passes except for its part-id regex, which rejects the hyphens in the slug-based ids this library requires; three-check accepts them and all 5 survive the GLB reload.

About the String lights 3D model

String lights is a free low-poly 3D model from the Rooftop District set. It measures 4.6 m × 2.7 m × 1.3 m (W × H × D) at real-world scale and is built from 2,108 triangles across 10 meshes, with 5 named parts. Download the 158 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.

Is the String lights 3D model free for commercial use?
Yes. It is free under the 1DesignTool 3D library license: use it in personal and commercial work — games, apps, websites, renders, ads and client projects — and modify it as you like, with no credit required. What you can't do is re-sell or re-distribute the file on its own or inside a model pack.
What file format is it, and how big is it?
A single binary glTF 2.0 file (.glb), 158 KB: 2,108 triangles, 6,324 vertices and 10 materials, modelled in metres at 4.6 m × 2.7 m × 1.3 m.
Can I animate String lights?
It ships as a static mesh. Its 5 named parts are separate nodes, so you can move or animate each one in your engine.
Which engines and tools can open it?
Anything that reads glTF 2.0. three.js, React Three Fiber, Babylon.js, Godot 4 and Blender import the GLB directly; Unity and Unreal Engine load it through their glTF importers. The snippets above show the exact code for three.js, React Three Fiber, Godot and Blender.
How was the String lights 3D model made?
Claude Code (Claude Opus 5.5) generated it inside 1DesignTool's 3D template from a written brief, then the design kit's checks verified the geometry and the GLB before it was published. You can make your own the same way with 1DesignTool.

Free under the 1DesignTool 3D library license. Model #7 of 902.