diff --git a/src/runtime-three/runtime-host.ts b/src/runtime-three/runtime-host.ts index aed96266..0f0cbeb6 100644 --- a/src/runtime-three/runtime-host.ts +++ b/src/runtime-three/runtime-host.ts @@ -4935,13 +4935,18 @@ export class RuntimeHost { private clearTerrainMeshes() { for (const renderObjects of this.terrainMeshes.values()) { this.terrainGroup.remove(renderObjects.group); + const geometries = new Set(); for (const chunk of renderObjects.chunks) { - for (const mesh of chunk.levels) { - mesh.geometry.dispose(); + for (const geometry of chunk.levelGeometries) { + geometries.add(geometry); } } + for (const geometry of geometries) { + geometry.dispose(); + } + renderObjects.material.dispose(); }