WebXR manipulation gizmo has excessive offset from small 3D models, making interaction difficult
- Dominant language
- TypeScript
- Stars
- 8.2k
- Forks
- 947
- PR merge metrics
- No merged PRs in 30d
Description
## Description:
When placing small models (e.g., bathroom faucet 10-15cm) in WebXR AR mode, the white manipulation frame/bounding box appears with a large distance (10-20cm) between the frame edges and the actual 3D geometry. This makes rotating and moving the model unintuitive.
Observe the manipulation gizmo around the model
## Expected behavior:
The manipulation frame should be close to the model geometry, allowing intuitive touch gestures for rotation/translation.
## Actual behavior:
The frame has a large offset (~10-20cm), making interaction feel disconnected from the model. User must reach far beyond the visible geometry to manipulate it.
## Additional context:
Interestingly, the same model in Scene Viewer (Android fallback, [ar-modes="scene-viewer"](vscode-file://vscode-app/c:/Users/tomas/AppData/Local/Programs/Microsoft%20VS%20Code/0958016b2a/resources/app/out/vs/code/electron-browser/workbench/workbench.html)) shows the manipulation frame much closer and tighter to the geometry. The excessive offset appears to be specific to the WebXR implementation in model-viewer.
This suggests the issue is in how model-viewer calculates or applies the gizmo bounds/offset for WebXR specifically, not a general geometry problem.
## Environment:
@google/model-viewer@4.0.0
WebXR implementation: Native browser
Device: Android phone with WebXR support
Model size: Small (faucet/bathroom fixture, ~0.2m scale)
ar-scale: fixed
bounds: tight (tested with and without)
## Workarounds attempted:
✗ bounds="tight" (no effect)
✗ ar-scale="fixed" vs auto (no effect)
✗ Model optimization (verified geometry is clean, origin centered, scale correct)
## Question:
Is there an API or parameter to control the WebXR gizmo offset distance, or is this a platform limitation of the WebXR manipulation layer?
Contributor guide
Assessment
This issue has not been assessed yet.