首页 > 解决方案 > 我想在 UNITY 中创建使用 GPS 的 AR 应用程序,但传感器跳动

问题描述

一方面,我拥有 Unity 为我提供的基于图像的 AR,它让事物看起来好像它们在现实世界中就在我身边,这真是太棒了。
问题是 - 这只是根据我周围的图像进行本地化,而不考虑我在经纬度坐标上的位置和我的方位角(指南针)。
但是,如果我在我的 Android 上使用指南针和 GPS 传感器,我会得到一个烦躁的读数,这会导致我周围的虚拟物体变得跳跃。
我不想使用 Vuforia / Wikitude / Mapbox。我想只使用 UNITY 自己构建它。
这可能吗?将基于图像的空间定位与 GPS 和指南针数据相结合的算法应该是什么?
Niantic 在 2016 年是如何通过 Pokemon GO 解决这个问题的?

标签: androidunity3daugmented-realitypokemon-go

解决方案


简短的回答是“否”,指南针或 GPS 数据对于 AR 来说都不够准确。基于这两个传感器,你永远无法获得稳定的 AR 体验,尤其是在使用移动设备时。

但这并非不可能,您可以根据 GPS 参考和指南针实例化您的起始位置(如果可能)。但是,在大多数 Android 设备上,指南针传感器的质量非常糟糕。如今,您在移动设备上出现错误方向的可能性很大。

如果您在有许多高层建筑的城市中,您最终将与现实相距约 10 米以上。并且指南针传感器会受到很多干扰。

初始化起始位置后,您必须切换到无标记跟踪。它将尝试从您的网络摄像头追踪所有特征点。这意味着,它仅在白天环境中运行良好,因为没有移动网络摄像头在夜间运行良好。


推荐阅读