
Model · Site cabins, services and groundworks
Spoil heap
The spoil heap is a groundworks model from the Site cabins, services and groundworks pack, about 3.00 m wide, 1.20 m tall and 2.40 m deep, with one unit equal to one metre. It is used in the Excavation corner assembly, where it sits with the pack's other excavation pieces such as the cut bank, excavation floor tile and excavation prop. It has a single named material slot, construction site earth.
This is a light model: 190 triangles at high, 94 at medium and 46 at low. Even the high level is cheap, so you can scatter a number of heaps around a dig without much cost. It carries 3 embedded textures and is safe to instance with InstancedMesh, which suits repeating it at different positions along an excavation.
A component from the Site cabins, services and groundworks pack, with named material slots for construction site earth. It measures about 3.00 m × 1.20 m × 2.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 Site cabins, services and groundworks (£19), which contains 26 component models and 4 assemblies.
See the pack| High detail | 190 triangles · 55 KB |
|---|---|
| Medium detail | 94 triangles · 34 KB |
| Low detail | 46 triangles · 14 KB |
| Size (W × H × D) | 3.00 m × 1.20 m × 2.40 m |
| Format | GLB (glTF 2.0 binary) |
| Compression | Meshopt (EXT_meshopt_compression) + quantised; uncompressed copy in the pack |
| Textures | 3 embedded in the GLB |
| Material slots | construction site earth |
| Sockets | mount-origin, floor |
| Era | 2020s |
| On mobile | Start with the low level (46 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/construction-site-spoil-heap/high-construction-site-spoil-heap.glb');
scene.add(model); // 1 unit = 1 metre, origin at the mount socket







