
Model · Parks
Lawn tile
A component from the Parks pack, with named material slots for recreation grass. It measures about 3.00 m × 0.08 m × 3.00 m (W × H × D) and is already minimal, so all three detail files share one geometry. Place it on its own or snap it to other modules by its sockets.
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 Parks (£19), which contains 151 component models and 13 assemblies.
See the pack| Detail levels | One geometry at every level: 12 triangles is already the minimum for this piece. All three files are included so your loading code can treat it like any other model. |
|---|---|
| Size (W × H × D) | 3.00 m × 0.08 m × 3.00 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 | recreation grass |
| Sockets | mount-origin, floor-ground |
| Era | victorian, 2020s |
| On mobile | Start with the low level (12 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/parks-lawn-tile/high-parks-lawn-tile.glb');
scene.add(model); // 1 unit = 1 metre, origin at the mount socket






