使用 Google Cardboard 改善 Android 上的头部追踪

Improve headtracking on Android using Google Cardboard

我正在构建一个与 Google Cardboard 或类似软件一起使用的应用程序。不过,我在使用头部追踪器时遇到了一些问题,因为它非常不稳定。

例如,当我尝试使用 Fibrum 的演示时,头部跟踪更加稳定。

有没有办法稳定头部跟踪,消除 Android 上的抖动? Fibrum 和其他公司是否使用他们自己的传感器融合代码,这就是它更好的原因吗?

我的 phone 是摩托罗拉 Moto G(2) 2014。

我直接在我的代码中使用 HeadTracker 对象,使用:

        headTracker.setNeckModelEnabled(true);
        headTracker.setGyroBiasEstimationEnabled(true);
        headTracker.getLastHeadView(headMatrix, 0);

This comment on Reddit's GoogleCardboard sub-reddit表示Moto G的陀螺仪是unstable。当 phone 静止在 table 上时,您是否查看过陀螺仪的输出(是否出现抖动)?您是否在其他制造商的 phone 上尝试过 HeadTracker?

如果您需要考虑抖动传感器,您可以尝试应用 RMS 算法来最小化抖动。