Parking Lot
A tileable surface car park on the 10 m city grid: one row of 2.5 x 5 m bays on a 10 x 10 m or 20 x 10 m tile, or two rows on a 20 x 20 m tile with a planted strip, all on asphalt at road height (12 cm) with raised kerbed paving (27 cm, the Road Tile sidewalk height) on the closed edges. The south edge (+Z) is the driveway that meets a road. Painted bay lines, wheel stops, lamp posts that glow at night, and seeded parked cars.
- Size
- 20.0 × 6.9 × 10.0 m
- Triangles
- 1,180
- Kit
- City Street
Tune it
5 knobs: Size, Occupancy, Lines, Lamp posts, Seed.
Specs
- Size
- 20.0 × 6.9 × 10.0 m width × height × depth
- Triangles
- 1,180 of 6,000
- Draw calls
- 1 one vertex-colour material
- Knobs
- 5 3 presets
- Night lights
- 1 lamp
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/parking-lot.mjs';
const parkingLot = createAsset();
scene.add(parkingLot); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/parking-lot.mjs';
export function ParkingLot() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import parking-lot.glb (download below). It is a static mesh, one material per colour.
add_child(preload("res://parking-lot.glb").instantiate())// Import parking-lot.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": "parking-lot", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
size | choice | 10 x 10 20 x 10 20 x 20 | 20 x 10 | 10 x 10 (one grid cell, 3 bays), 20 x 10 (two cells side by side along X, 7 bays), 20 x 20 (four cells, two facing rows of bays, a planted strip with trees and a central driveway). |
cars | range | 0 to 1, step 0.1 | 0.6 | Share of bays with a parked car, 0 (empty) to 1 (full). Cars are seeded low-poly hatchbacks and sedans. |
lines | choice | white yellow | white | Bay line paint: white (Europe) or yellow (Americas). |
lamps | toggle | on / off | true | Tall LED lamp posts on the kerbs; the heads glow at night. |
seed | range | 1 to 99, step 1 | 5 | Which bays are taken, car colours, body styles and which way they parked, and the tree shapes. |
Presets: corner lot {"size":"10 x 10","cars":0.7} · supermarket car park {"size":"20 x 20","cars":0.8,"lines":"white","seed":12} · empty at night {"size":"20 x 10","cars":0,"lines":"yellow"}
Files
| File | What |
|---|---|
| parking-lot.glb | GLB, default look · 148 KB |
| parking-lot.mjs | ES module, every knob live |
| parking-lot.obj | OBJ, static, no colour |
| parking-lot-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.