diff --git a/src/pages/XRSession.tsx b/src/pages/XRSession.tsx index 3ec35cc..f937d12 100644 --- a/src/pages/XRSession.tsx +++ b/src/pages/XRSession.tsx @@ -354,6 +354,9 @@ function XRSnapHandler() { }, [gl, mouse, measureMode]); useFrame(() => { + // Em AR imersivo, a medição é feita pelo XRControllerMeasure (gatilho do controle). + // Evita raycast pesado por frame que travava o Quest ao ativar "Medir". + if (gl.xr.isPresenting) { setSnapPoint(null); return; } if (!measureMode) { setSnapPoint(null); return; } raycaster.setFromCamera(mouse, camera); const intersects = raycaster.intersectObjects(scene.children, true); @@ -373,6 +376,7 @@ function XRSnapHandler() { } }); + // Click to measure useEffect(() => { if (!measureMode) return;