Skyline Backdrop
A low-poly distant city skyline strip for the back of a scene: three layers of seeded towers (front, middle, back, fading into the sky colour) along X, 60 to 240 m long and up to about 110 m tall, in a downtown, old city (domes and steeples) or harbour (warehouses and cranes) style. Tints for day, dusk and haze; a seeded share of window bands glows at night. Faces +Z; meant to be seen from far away, so the backs are plain.
- Size
- 117.4 × 117.1 × 41.6 m
- Triangles
- 762
- Kit
- City Street
Tune it
5 knobs: Style, Length, Height, Tint, Seed.
Specs
- Size
- 117.4 × 117.1 × 41.6 m width × height × depth
- Triangles
- 762 of 6,000
- Draw calls
- 1 one vertex-colour material
- Knobs
- 5 3 presets
- Night lights
- 1 window
Passed the validator: real scale, rests on y = 0, front faces +Z, deterministic.
Use it
Code for the specimen as it is set up above; it follows your knobs.
import { createAsset } from 'https://gaitkit.com/cdn/skyline-backdrop.mjs';
const skylineBackdrop = createAsset();
scene.add(skylineBackdrop); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/skyline-backdrop.mjs';
export function SkylineBackdrop() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import skyline-backdrop.glb (download below). It is a static mesh, one material per colour.
add_child(preload("res://skyline-backdrop.glb").instantiate())// Import skyline-backdrop.glb with glTFast (com.unity.cloud.gltfast).
// Drop it in the scene: 1 unit = 1 metre, +Z is its front.Use the gaitkit MCP server: get_variant({ "id": "skyline-backdrop", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
style | choice | downtown old city harbour | downtown | downtown (glass towers with setbacks, spires, antennas and slanted crowns), old city (lower blocks with domes, steeples, gables and a clock tower), harbour (long warehouses with sawtooth roofs and gantry cranes in front of a few towers). |
length | range | 60 to 240, step 20 | 120 | Length of the strip along X in metres, 60 to 240. Tile several with different seeds for a panorama. |
height | range | 0.5 to 1.5, step 0.1 | 1 | Height multiplier for every building: 0.5 (small town) to 1.5 (megacity). At 1 the tallest back towers reach about 75-110 m. |
tint | choice | day dusk haze night | day | Colour of the silhouette layers, each fading toward the sky colour with distance: day (blue grey), dusk (purple against orange), haze (pale grey), night (dark navy with warm windows). |
seed | range | 1 to 999, step 1 | 11 | Reshuffles building widths, heights, crowns, landmark positions and which window bands are lit. |
Presets: dusk downtown {"style":"downtown","tint":"dusk","length":160,"seed":11} · old town horizon {"style":"old city","tint":"haze","height":0.8,"seed":4} · night port {"style":"harbour","tint":"night","length":200,"seed":23}
Files
| File | What |
|---|---|
| skyline-backdrop.glb | GLB, default look · 71 KB |
| skyline-backdrop.mjs | ES module, every knob live |
| skyline-backdrop.obj | OBJ, static, no colour |
| skyline-backdrop-params.json | knob schema, presets, night zones |
Licence
Use it in games, apps, renders and client work, commercially and without credit. Do not resell it as an asset or train a 3D generator on it. The full licence.