
Model · London pubs
Pub picnic table
A pub picnic table measuring about 1.50 m wide, 0.75 m high and 1.40 m deep, with 1 unit equal to 1 metre. It is part of the London pubs pack and is used in the Wide-fronted pub assembly, alongside the pub's frontage parts.
It uses one named material slot, pub oak, and has no embedded textures: colour is handled by PBR slots on UV-mapped geometry, so you can recolour it through that slot. The high level is 1,084 triangles, medium 492 and low 196. Use the low level if you scatter several tables across a terrace or a row of pubs, and the high level for a single one seen close. The facts mark it safe to instance with InstancedMesh, and it pairs with the pack's doors, fascias and lanterns.
A component from the London pubs pack, with named material slots for pub oak. It measures about 1.50 m × 0.75 m × 1.40 m (W × H × D) and comes as high, medium and low detail files. Place it on its own, or load one of the 1 included assembly that use it.
The picture is a studio render. View in 3D loads the GLB files themselves in three.js; switch between high, medium and low to compare.
Included in London pubs (£15), which contains 16 component models and 4 assemblies.
See the pack| High detail | 1,084 triangles · 24 KB |
|---|---|
| Medium detail | 492 triangles · 13 KB |
| Low detail | 196 triangles · 6 KB |
| Size (W × H × D) | 1.50 m × 0.75 m × 1.40 m |
| Format | GLB (glTF 2.0 binary) |
| Compression | Meshopt (EXT_meshopt_compression) + quantised; uncompressed copy in the pack |
| Textures | None: PBR colours only, UV-mapped for your own |
| Material slots | pub oak |
| Sockets | mount-origin |
| Era | victorian, contemporary |
| On mobile | Start with the low level (196 triangles). What a phone can draw depends on your whole scene; no device benchmark is published yet. |
| Instancing | Safe to instance (InstancedMesh) |
Load it in three.js
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
import { MeshoptDecoder } from 'three/addons/libs/meshopt_decoder.module.js';
const loader = new GLTFLoader().setMeshoptDecoder(MeshoptDecoder);
const { scene: model } = await loader.loadAsync('models/london-pubs-picnic-table/high-london-pubs-picnic-table.glb');
scene.add(model); // 1 unit = 1 metre, origin at the mount socket







