Bloqueou raycast no modo AR

X-Lovable-Edit-ID: edt-54bddaeb-6e2a-4b73-a991-579cdef5eec4
Co-authored-by: Reifonas <211114984+Reifonas@users.noreply.github.com>
This commit is contained in:
gpt-engineer-app[bot]
2026-05-21 20:41:17 +00:00
+4
View File
@@ -354,6 +354,9 @@ function XRSnapHandler() {
}, [gl, mouse, measureMode]); }, [gl, mouse, measureMode]);
useFrame(() => { 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; } if (!measureMode) { setSnapPoint(null); return; }
raycaster.setFromCamera(mouse, camera); raycaster.setFromCamera(mouse, camera);
const intersects = raycaster.intersectObjects(scene.children, true); const intersects = raycaster.intersectObjects(scene.children, true);
@@ -373,6 +376,7 @@ function XRSnapHandler() {
} }
}); });
// Click to measure // Click to measure
useEffect(() => { useEffect(() => {
if (!measureMode) return; if (!measureMode) return;