From 30a90c4be7044cfe9c7b46b39404e56c60941750 Mon Sep 17 00:00:00 2001 From: Percen <21pesi1bif@hft-stuttgart.de> Date: Sat, 14 Dec 2024 15:32:48 +0000 Subject: [PATCH] Update public/index.html --- public/index.html | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/public/index.html b/public/index.html index 9a7a476..1582b18 100644 --- a/public/index.html +++ b/public/index.html @@ -30,6 +30,8 @@ let currentModel = null; let scene; let camera; + let hitTestSource; + let hitTestResults = []; async function activateXR() { const canvas = document.createElement('canvas'); @@ -68,7 +70,7 @@ session.updateRenderState({ baseLayer: new XRWebGLLayer(session, gl) }); const referenceSpace = await session.requestReferenceSpace('local'); const viewerSpace = await session.requestReferenceSpace('viewer'); - const hitTestSource = await session.requestHitTestSource({ space: viewerSpace }); + hitTestSource = await session.requestHitTestSource({ space: viewerSpace }); session.requestAnimationFrame(onXRFrame); @@ -87,14 +89,14 @@ camera.projectionMatrix.fromArray(view.projectionMatrix); camera.updateMatrixWorld(true); - const hitTestResults = frame.getHitTestResults(hitTestSource); + hitTestResults = frame.getHitTestResults(hitTestSource); if (hitTestResults.length > 0) { const hitPose = hitTestResults[0].getPose(referenceSpace); reticle.visible = true; reticle.position.set(hitPose.transform.position.x, hitPose.transform.position.y, hitPose.transform.position.z); reticle.updateMatrixWorld(true); - // Das Modell an die Reticle-Position setzen + // Das Modell an der Reticle-Position platzieren if (currentModel) { currentModel.position.set(hitPose.transform.position.x, hitPose.transform.position.y, hitPose.transform.position.z); } @@ -119,14 +121,11 @@ startY = event.touches[0].clientY; }); - document.body.addEventListener('touchmove', (event) => { - // Die Bewegungsposition des Fingers (optional) - endX = event.touches[0].clientX; - endY = event.touches[0].clientY; - }); - document.body.addEventListener('touchend', (event) => { // Berechne die Distanz in der X- und Y-Richtung + endX = event.changedTouches[0].clientX; + endY = event.changedTouches[0].clientY; + let deltaX = endX - startX; let deltaY = endY - startY; -- GitLab