From d7937fc7e5a5a28374f8edbc2e8cf139538a7e02 Mon Sep 17 00:00:00 2001 From: Evert Prants Date: Tue, 12 Apr 2022 22:15:58 +0300 Subject: [PATCH] temporarily disable lod --- src/client/object/world/quadtree/quadtree-mesher.ts | 2 +- src/client/object/world/quadtree/quadtree-node.ts | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/client/object/world/quadtree/quadtree-mesher.ts b/src/client/object/world/quadtree/quadtree-mesher.ts index 7283315..8dbe945 100644 --- a/src/client/object/world/quadtree/quadtree-mesher.ts +++ b/src/client/object/world/quadtree/quadtree-mesher.ts @@ -7,7 +7,7 @@ export class QuadtreeMesher { public root!: QuadtreeNode; public container = new Object3D(); public actionsLeft = 1; - public maxDepth = 3; + public maxDepth = 1; constructor( public size: number, diff --git a/src/client/object/world/quadtree/quadtree-node.ts b/src/client/object/world/quadtree/quadtree-node.ts index 120976b..b7a23ad 100644 --- a/src/client/object/world/quadtree/quadtree-node.ts +++ b/src/client/object/world/quadtree/quadtree-node.ts @@ -87,6 +87,7 @@ export class QuadtreeNode { if (abs.distanceTo(camera) > size) { this._merge(); this.root.actionsLeft -= 1; + return; } if ( @@ -265,9 +266,9 @@ export class QuadtreeNode { private _createMesh() { if (this._mesh) { - this.root.container.remove(this._mesh); - this._mesh = null; + this._destroyMesh(); } + const geometry = this._createGeometry(); const mesh = new Mesh(geometry, this.root.material); mesh.position.set(this.position.x, 0, this.position.y);