From a16156d24a00c3893e3eec817aafbd3003581db9 Mon Sep 17 00:00:00 2001 From: goynov Date: Tue, 10 Jun 2025 17:39:52 +0300 Subject: [PATCH] xr --- src/components/GamePlaying/GamePlaying.vue | 2 +- src/lib/gameEngine.js | 24 ++++++++++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/components/GamePlaying/GamePlaying.vue b/src/components/GamePlaying/GamePlaying.vue index c9bc776..feb3373 100644 --- a/src/components/GamePlaying/GamePlaying.vue +++ b/src/components/GamePlaying/GamePlaying.vue @@ -144,7 +144,7 @@ export default { async loadEnvironment(scene, target){ //await gameEngine.loadPanorama(`/asset/default/43.webp`); await this.expandScenarioData(scene); - gameEngine.activeObjects.scale.set(0.033, 0.033, 0.033) + //gameEngine.activeObjects.scale.set(0.033, 0.033, 0.033) target.objects = target.objects || {}; let l = target.objects; if (this.scene.data.$environment.type == 'panorama2d'){ diff --git a/src/lib/gameEngine.js b/src/lib/gameEngine.js index ce1b365..9f3d46e 100644 --- a/src/lib/gameEngine.js +++ b/src/lib/gameEngine.js @@ -120,12 +120,20 @@ class GameEngine { } if (gameEngine.xrController2?.gamepad){ let gp = gameEngine.xrController2.gamepad; - if (gp.axes[3] != 0){ - let sc = gameEngine.scene.scale.x + gp.axes[3] * delta; - gameEngine.scene.scale.set(sc, sc, sc); - } + let gp1 = gameEngine.xrController1.gamepad; + // if (gp.axes[3] != 0){ + // let sc = gameEngine.scene.scale.x + gp.axes[3] * delta * 0.5; + // gameEngine.scene.scale.set(sc, sc, sc); + // } if (gp.axes[2] != 0){ - gameEngine.scene.rotation.y += gp.axes[2] * delta; + if (gp1.buttons[4]?.pressed){ + gameEngine.scene.position.y += gp.axes[2] * delta; + }else if (gp1.buttons[5]?.pressed){ + let sc = gameEngine.scene.scale.x + gp.axes[2] * delta * 0.1; + gameEngine.scene.scale.set(sc, sc, sc); + }else{ + gameEngine.scene.rotation.y += gp.axes[2] * delta * 0.5; + } } } gameEngine.render(scene, gameEngine.camera); @@ -172,7 +180,11 @@ class GameEngine { if (opts.xr){ renderer.xr.enabled = true; document.body.appendChild( XRButton.createButton( renderer, { - 'optionalFeatures': [ 'depth-sensing' ] + 'optionalFeatures': [ 'depth-sensing' ], + depthSensing: { + usagePreference: ["cpu-optimized", "gpu-optimized"], + dataFormatPreference: ["luminance-alpha", "float32"], + }, } ) ); this.initXrControllers(); }