Co-authored-by: Reifonas <211114984+Reifonas@users.noreply.github.com>
This commit is contained in:
gpt-engineer-app[bot]
2026-05-12 11:02:07 +00:00
parent 0449f6b80a
commit f57d0de8ec
+27 -5
View File
@@ -499,9 +499,19 @@ const XRSession = () => {
<XROrigin />
{inXR ? (
{effectiveInXR ? (
<>
{/* In XR: hit-test placement → grab wrapper → model */}
{/* In XR (or SimXR): grab wrapper → model. Skip hit-test in SimXR mode. */}
{simXR ? (
<group position={[0, 1.0, -1.2]}>
<XRGrabbable
allowScale={allowScale}
onGrabStart={() => { if (placementMode) setPlacementMode(false); }}
>
<XRModel url={model.url} />
</XRGrabbable>
</group>
) : (
<XRHitTestPlacement
placementMode={placementMode}
snapToPlanes={snapToPlanes}
@@ -512,17 +522,29 @@ const XRSession = () => {
>
<XRGrabbable
allowScale={allowScale}
onGrabStart={() => {
if (placementMode) setPlacementMode(false);
}}
onGrabStart={() => { if (placementMode) setPlacementMode(false); }}
>
<XRModel url={model.url} />
</XRGrabbable>
</XRHitTestPlacement>
)}
<XRMeasurementOverlay />
<ControllerFineTuning freeMove={freeMove} />
<XRDebugHud />
{/* DEVKIT: fake controllers visible in scene + keyboard driver */}
{devkit && simXR && <FakeControllers />}
{/* DEVKIT: orbit camera in SimXR so you can navigate around the model */}
{simXR && (
<OrbitControls
makeDefault
enableDamping
dampingFactor={0.1}
minDistance={0.05}
maxDistance={50}
target={[0, 1.0, -1.2]}
/>
)}
</>
) : (
<>