【发布时间】:2014-08-28 08:32:09
【问题描述】:
我目前正在构建一个小型全景照片查看器,它可以选择使用陀螺仪导航场景。我从 deviceOrientation 事件中获取数据并将欧拉角转换为旋转矩阵,然后对其进行一些变换,最终通过 3dMatrix 变换移动 css 立方体。
我的问题是我在不同设备上的不同浏览器上从 deviceOrientation 事件中获得了非常不同的数据,我不明白为什么。
在我尝试过的几乎所有 iPhone 上,无论是 Safari 移动版还是 Chrome,一切都运行良好。价值观进来并有意义,整个体验非常无缝。
在三星 Galaxy S3 上,在 Chrome 中,我的数据完全不稳定。 alpha 值实际上似乎并不代表围绕 z 轴的旋转,并且值有巨大的飞跃,例如 beta 从 50 到 130 度的飞跃只需很小的运动。
在 Chrome 中的 Galaxy Tab S 8.4" 上,我仍然得到一些不稳定的值,有些来回颠簸,但我至少得到了一些接近所需行为的东西。
在 Nexus 7 第二代和 Chrome 上,体验是连贯且有意义的。与 iPhone 相比,它的渲染是不稳定的,但它可以正确旋转所有内容,并且这些值是有意义的。
有谁知道我可以如何解决这些问题,或者我应该如何解决这些问题?它们可能是三星 Android 端口的问题,或者是最新版本操作系统中的 Android 本身的问题。
想法?想法?建议?在这一点上我真的迷路了。
谢谢!
【问题讨论】:
标签: javascript android html google-chrome device-orientation