diff --git a/src/lib/GameEngine.js b/src/lib/GameEngine.js index 2663787..9742d9a 100644 --- a/src/lib/GameEngine.js +++ b/src/lib/GameEngine.js @@ -140,6 +140,7 @@ class GameEngine extends THREE.EventDispatcher{ function animate(time) { let delta = clock.getDelta(); gameEngine.hero?.update(); + gameEngine.physics?.step(); gameEngine.mixers.forEach(m => m.update(delta)); gameEngine.handleXrAction(gameEngine, delta) gameEngine.dispatchEvent({type: 'beforeRender'}) @@ -178,7 +179,7 @@ class GameEngine extends THREE.EventDispatcher{ //console.log('GameEngine started') renderer.domElement.addEventListener('wheel', (event) => { if (gameEngine.hero){ - gameEngine.hero.characterControls.cameraZ += event.deltaY / 33; + gameEngine.hero.cameraZ += event.deltaY / 33; }else{ gameEngine.camera.zoom -= event.deltaY / 1000; gameEngine.camera.zoom = Math.max(gameEngine.camera.zoom, .4); @@ -484,7 +485,7 @@ class GameEngine extends THREE.EventDispatcher{ let mouse = this.getMouseVector(mouseEvent, domElement); this.raycaster.setFromCamera(mouse, this.camera); this.clickable.update(mouse, this.camera, mouseEvent); - this.hero?.characterControls?.idleReset(); + this.hero?.idleReset(); } onPointer(mouseEvent, domElement, type){ @@ -566,6 +567,7 @@ class GameEngine extends THREE.EventDispatcher{ this.hero?.destroy(); this.dashboard?.reset(); this.activeObjects.clear(); + this.physics.stop(); this.physics.clear(); this.clickable.removeAll(); this.motionQueue.clearAll();