Safari iOS full screen experience. Problem with ArcCamera controls

I’m not sure if modifying the limits will help in this scenario but if you’re just handling a single input for rotation, there’s an additional approach I could recommend trying. You could manually handle the inputs in your code:

scene.onPointerObservable.add((ev) => {
        let evt = ev.event;
        let moveY = evt.movementX ||
                    evt.mozMovementX ||
                    evt.webkitMovementX ||
                    evt.msMovementX ||
                    0;
        let moveX = evt.movementY ||
                    evt.mozMovementY ||
                    evt.webkitMovementY ||
                    evt.msMovementY ||
                    0;
        if (ev.event.buttons > 0) {
            camera.inertialAlphaOffset -= moveX / 1000;
            camera.inertialBetaOffset += moveY / 1000;
        }
    }, BABYLON.PointerEventTypes.POINTERMOVE);

In this example, when there’s a finger down and it’s dragging, it will take the deltas of the x and y and swap them and add (or subtract) them to the inertial alpha and beta offsets. When these variables have values, they will move the camera and decrease them until they hit zero. The 1000 is a sensibility/sensitivity value because the values added to these offsets needs to be very small, given how often they’re incremented.

Note: In this example, there is no call to your camera’s attachControl function since we’re handling the controls manually.

1 Like