Co-authored-by: Reifonas <211114984+Reifonas@users.noreply.github.com>
This commit is contained in:
gpt-engineer-app[bot]
2026-05-12 10:41:29 +00:00
parent c926c55499
commit f5d2591fbf
+42 -19
View File
@@ -491,28 +491,51 @@ const XRSession = () => {
<XROrigin /> <XROrigin />
<XRHitTestPlacement {inXR ? (
placementMode={placementMode} <>
snapToPlanes={snapToPlanes} {/* In XR: hit-test placement → grab wrapper → model */}
onPlace={() => { <XRHitTestPlacement
setPlacementMode(false); placementMode={placementMode}
toast.success('Modelo posicionado na superfície!'); snapToPlanes={snapToPlanes}
}} onPlace={() => {
> setPlacementMode(false);
<XRGrabbable toast.success('Modelo posicionado na superfície!');
allowScale={allowScale} }}
onGrabStart={() => { >
if (placementMode) setPlacementMode(false); <XRGrabbable
}} allowScale={allowScale}
> onGrabStart={() => {
<XRModel url={model.url} /> if (placementMode) setPlacementMode(false);
</XRGrabbable> }}
</XRHitTestPlacement> >
<XRModel url={model.url} />
</XRGrabbable>
</XRHitTestPlacement>
<XRMeasurementOverlay />
<ControllerFineTuning freeMove={freeMove} />
<XRDebugHud />
</>
) : (
<>
{/* Desktop preview (no headset): show model with OrbitControls */}
<group position={[0, 0, 0]}>
<XRModel url={model.url} />
</group>
<XRMeasurementOverlay />
<OrbitControls
makeDefault
enableDamping
dampingFactor={0.1}
minDistance={0.05}
maxDistance={50}
target={[0, 0, 0]}
/>
</>
)}
<XRMeasurementOverlay />
<XRSnapHandler /> <XRSnapHandler />
<XRGrid /> <XRGrid />
<ControllerFineTuning freeMove={freeMove} />
</XR> </XR>
</Canvas> </Canvas>