threejsassets
home / browse / roads-streets

Low-poly roads and street props for three.js

This is the modular half of the library: 88 tileable road pieces and the furniture that dresses them — straights, corners, T-junctions, crossroads, a roundabout, footways and kerb ramps, plus the lamps, signals, shelters, bins, bollards, hydrants and signage that make a road read as a street. Cozy Village, City and Desert Kingdom tile on a 4 m module; Metropolis doubles it to an 8 m block with furniture still on the 4 m sub-grid. Most pieces are 200–1,200 triangles and under 5 KB.

88 assets · updated weekly
88 results

How the street kit fits together

Four surfaces share one contract. City lays tint-noised asphalt with dashed centre lines; Cozy Village lays sett-paved cobble and a rutted dirt road cut to the same footprint as the cobble straight, so the two interchange mid-run; Desert Kingdom lays dressed sandstone flags with blown sand caught in the joints. Metropolis carries the widest set — planted avenues, bus bays, taxi ranks, loading zones and a protected cycle track.

Corners that actually meet

Every corner sweeps on the exact ring radii its straights were drawn to, so a turn closes without a seam or a half-tile you model yourself. The heights are pinned as hard as the footprint: in the City and Metropolis sets the carriageway tops out at 0.20 m, the kerb at 0.28 and the footway paving at 0.44.

Crossings are authored as pairs

A crossing that stops short of the pavement is scenery. road-crosswalk-straight-01 drops its kerb flush on both edges over the same width sidewalk-curb-ramp-01 lands on, through the same three levels — a 0.22 m dropped landing and a 0.33 m flare up to full footway height. The bus bay raises a 30 cm boarding band that the matching footway tile continues across the seam, both carrying tactile warning strips.

Keeping a long street from repeating

Manhole covers and road patches exist to be scattered over the asphalt so a run of identical tiles stops reading as tiled. Pack bundles also ship pre-assembled corners as single GLBs — a transit stop, a gas forecourt, a subway corner, a pocket park.

Questions

Place them at multiples of 4 on x and z and straights, corners, T-junctions and crossroads meet edge to edge. The one thing to know is that Metropolis is authored on an 8 m block module — exactly double — with its street furniture on a 4 m sub-grid, so a downtown avenue and a City side street still mix without a half-tile between them.
Yes, and it is the reason the kerb heights are pinned. road-crosswalk-straight-01 drops the kerb flush on both edges over exactly the width the curb-ramp footway tile lands on, through a 0.22 m landing and a 0.33 m flare back up to the 0.44 m footway. Tactile warning strips and a stud field come modelled in.
Asphalt with dashed lane markings, cobblestone setts, a rutted country dirt road and dressed sandstone caravan flags — one per pack theme, each with matching straights, corners and junctions. The dirt road shares the cobble straight's footprint, so a lane can change surface mid-run without a transition tile.
Scatter the small stuff. Manhole covers and road patches are modelled flush at ground level for exactly this, and the furniture and signage pieces — lamps, hydrants, bins, bollards, awnings, neon — break the rhythm above the road. Recolouring helps too: the asphalt and marking keys are separate entries in the pack palette.
Roughly a third, and deliberately the ones you need to lay out a block: a straight, a corner, a T-junction, a crossroads and a sidewalk tile in the modern sets, plus street lamps, traffic lights, a bus shelter, benches and bins. Enough to build a working street before deciding whether a pack is worth it.
Low-Poly Roads & Street Props for Three.js — threejsassets