Gyro without Gyroscope Sensor in krpano 1.18.5, but not in krpano 1.19... [SOLVED]

  • Hi, thanks Klaus for your fast answer.

    The device is a very cheap mobile, but the google cardboard is too very cheap *wink*

    Mobile LG LGMS345 Android 5.1.1 ---TEST GYRO PASS in 1.18.5 anf FAIL in 1.19.14

    Sensors: a) Accelerometer b) Magnetometer c) Rotation d) Orientation e) GYROSCOPE NOT AVAILABLE

    Brorwsers: Firefox 34.0 - WebGL Android (rv 34.0)

    In the Gyroscope example of 1.18.5 the gyro works fine (pan and tilt), and the message is: Gyroscope avaliable, press gyro button.
    (Note: The pan and tilt motion are not perfectly fluid, but acceptable.)

    In the example of release 1.19.14, the apartment, only works the tilt.

    other APP
    a) Turme: Gyro works fine (as krpano 1.18.5)
    b) Theta: Gyro works fine (as krpano 1.18.5)

    Maybe there it would possible to detect rotation and orientation sensors to allow a acceptable inmersive experience for low range mobiles.

    Best regards,

    Fernando.

  • Hi,

    the old gyro.js plugin (in 1.18) was using the 'deviceorientation' event from the browser for the gyro control.
    But the implementation of the gyroscope data in that event was very poor in many Android browsers, the data was incorrect at poles, jerky and inaccurate (today it might be already better).

    Therefore as alternative the newer gyro2.js plugin (since 1.19) is using the newer 'devicemotion' event. This event provides more raw data and requires more processing but allows a way more precise and responsive gyro tracking.


    Note: The pan and tilt motion are not perfectly fluid, but acceptable


    Depending on the device the 'deviceorientation' might return also some data without real gyroscope, but then that data would be interpolated by the system from the other sensors. Typically the quality of that is very low and very device-depended. Maybe it's 'acceptable' for some cases, but e.g. for VR it would be an absolute no-go.

    So you could either use the older gyro.js plugin instead of the gyro2.js - or add sensor="0" to the gyro2 plugin declaration. This (undocumented) settings tells the gyro2 plugin also to use the 'deviceorientation' event instead of the 'devicemotion' event.

    But I wouldn't recommend that - this way you will penalize the users that have better devices with real gyroscope sensors...


    Maybe there it would possible to detect rotation and orientation sensors to allow a acceptable inmersive experience for low range mobiles.

    The problem is that it's not possible to detect the available sensors in Javascript.

    Best regards,
    Klaus

  • Hi, thanks very much Klaus, it is all clear for me now.

    I tried the sensor="0" and work in portrait position but in landscape position is erratic (vertical turns, mirror jump). It is fatal for testing cardboard or another cheap devices. The quality motion is poor as older version gyro or other software when there is not gyroscope sensor.

    But I wouldn't recommend that - this way you will penalize the users that have better devices with real gyroscope sensors...

    But your previous argument is enough strong for not wast time without gyroscope, due to it's not possible to detect the available sensors.


    OK, 100% agree with all.


    Best regards,


    Fernando.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!