Skip to content

WebXR manipulation gizmo has excessive offset from small 3D models, making interaction difficult #5150

Description

@colordrop

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") 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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions