diff --git a/src/components/three/XRGrabbable.tsx b/src/components/three/XRGrabbable.tsx index cd1804b..69acba7 100644 --- a/src/components/three/XRGrabbable.tsx +++ b/src/components/three/XRGrabbable.tsx @@ -121,8 +121,10 @@ export function XRGrabbable({ allowScale = true, lockedActive = false, onGrabSta const d = dual.current; const deltaQuat = new THREE.Quaternion().setFromUnitVectors(d.startAxis, axisNow); - // ZOOM sempre ativo no grip duplo - const scaleRatio = THREE.MathUtils.clamp(distNow / d.startDist, 0.1, 10); + // ZOOM só quando allowScale=true. Caso contrário, mantém escala 1× (só orbita). + const scaleRatio = allowScale + ? THREE.MathUtils.clamp(distNow / d.startDist, 0.1, 10) + : 1; const tToOrigin = new THREE.Matrix4().makeTranslation(-d.startMid.x, -d.startMid.y, -d.startMid.z); const tBack = new THREE.Matrix4().makeTranslation(midNow.x, midNow.y, midNow.z);