AR 导航的几种实现思路

AR 导航的几种实现思路当 AR 技术刚出现的时候,很多人都认为导航是重要应用方向。但是,ARKit 已经发展到 ARKit 3 了,完善的AR导航方案也没有出现。 因此,我们只能用一些技巧来实现一些简单的 AR 导航。 固定点位导航,就是在 AR 中放置几个固定的点,比如点 A,B。这种导航只能从 …

AR 导航的几种实现思路

说明

当 AR 技术刚出现的时候,很多人都认为导航是重要应用方向。但是,ARKit 已经发展到 ARKit 3 了,完善的AR导航方案也没有出现。 因此,我们只能用一些技巧来实现一些简单的 AR 导航。

固定点位导航

固定点位导航,就是在 AR 中放置几个固定的点,比如点 A,B。这种导航只能从 A 点到 B 点,或者从任意位置沿直线先到 A 点,然后再到 B 点。

当然了,点位的确定一般需要借助图片锚点/物体识别锚点,或者用世界地图重定位先确定世界坐标原点,再确定点 A,B 的位置。

缺点

这样的缺点可想而知,非常不灵活。点位需要提前确定,起点位置也受限。比如我起点已经在 AB 之间了,仍然会引导我先走到 A 点,再走到 B 点。除非添加大量判断代码,或者使用图相关的算法。

优点

写得快,无需联网,无需额外信息,简单可靠。

寻路算法导航

在 iOS 中使用无向图等算法,其实不必自己从头写。GameplayKit框架中就自带了几种寻路算法,包含有向图/无向图/A* 等算法。

苹果官方文档 Pathfinding

比如,用 GKGridGraphGKGridGraphNode,其实就可以实现网格寻路,效果类似于A* 算法

AR 导航的几种实现思路


GKGraph
GKGraphNode 就可以实现有向图/无向图的寻路,效果类似于
迪杰斯特拉(Dijkstra)算法

AR 导航的几种实现思路

还有更好用的 GKObstacleGraphGKGraphNode2D,可以实现在有障碍物的连续空间导航,可绕过障碍物,找到最短路径。

AR 导航的几种实现思路

缺点

缺点也有,就是需要提前准备好区域地图,哪些区域是连通的,哪些地方是不可进入的障碍物区域。

优点

自由指定起点终点,自动避障,无需联网。

结合地图导航

而现有的地图 SDK 中的导航算法已经非常完善,不仅能任意指定起点终点,还会自动避开障碍物,找到最短/最快路径。我们可以将 AR 与地图类 SDK 结合,实现导航方案。

比如,仿写百度地图的3自由度 AR 导航,利用百度地图 SDK 与 ARKit,实现了简单的 AR 导航功能。 如何仿写一个简易版的3自由度 AR 导航

AR 导航的几种实现思路

又比如,这个开源项目,利用 ARKit 和 CoreLocation 框架,实现了 6 自由度的 AR 导航。值得借鉴。 ARKit-CoreLocation

AR 导航的几种实现思路

缺点

需要 GPS 和定位权限,在室内使用受限。需联网以使用地图 SDK 的部分功能。GPS 近距离误差大。

优点

地图信息内置,寻路算法先进,支持多种策略,另有偏航和重新算路,语音播报等功能。

今天的文章AR 导航的几种实现思路分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/22826.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注