最近有人问,怎么用ARCore来做校园AR导航的毕业设计。因为不是第一个了,后面估计还会有,就专门说一下。
先说室内导航,毕竟很多人问都是因为我做过AR室内导航的内容。AR室内导航有2种技术方式实现,运动跟踪和稀疏空间地图或云锚点。运动跟踪因为中途不能自动校正,而稀疏空间地图或云锚点能自动校正,所以后者更可靠,不推荐用运动跟踪实现。
那么,可以用稀疏空间地图或云锚点实现校区范围的AR导航么?技术上可以,但是,做毕业设计的大概不行。用稀疏空间地图或云锚点实现AR导航,首先需要建立地图或者锚点。
这里有手机建图的演示,有兴趣可以看下。https://www.bilibili.com/video/BV1Y7411K7HT?p=2
这个过程,如果用手机的话,很慢,百多平米的办公室就需要花10多分钟,简单理解就是1分钟也就实现10平米范围的建图。如果是校区范围,额,特别现在的学校都越来越大呢。这还没用考虑外部干扰造成半途而费的情况,所以,用手机建立校区范围的地图还是不靠谱呢。当然厂商有提供更高效率的建图方式,例如用全景摄像机。全景摄像机租一天也就三五十块钱,倒也不贵,问题是这个功能通常不会开放给个人用户,都是给企业级的用户,毕业设计的学生应该是没有这种机会的说。
这里有通过全景相机的建图演示,有兴趣可以看下。https://www.bilibili.com/video/BV1KX4y1u79i?p=2
在我看来,做校区范围的AR导航的毕业设计,主要还是要靠地理定位,然后才是增强现实SDK。通过地理定位,获取当前位置,然后通过其他手段获取方向(东南西北),有了这2个,再配合增强现实SDK就能实现AR导航了。
下面是我能想到的思路,是假说,未经证实,不保证一定能够实现,只能说根据我的了解,大概率应该能行。
Mapbox实现
Mapbox免费,提供了地图编辑功能,能实现定位和编辑器预览。Mapbox本身提供了一个AR功能,但是那个功能,好像没有方向。用Mapbox的话,之前实现了一个Pokemon Go的例子,Pokemon Go不需要方向,靠近就行了。用Mapbox做,以我的了解,只是缺少了方向,就能实现导航。所以,这个就变成了怎么实现一个AR下的指南针。
先在Mapbox中设置导航范围,然后,运行以后,获取当前位置,通过指南针获取方向,调整地图方向和现实方向一致,烘培导航地图,然后利用增强现实SDK显示AR效果就可以了。其实这里不用增强现实SDK,自己实现也不难。
缺点,Mapbox的资料基本是英文,学习起来还是有点难度的。另外指南针实现没有现成的例子,找起来也比较麻烦。
这里是个意大利小哥用Mapbox做AR效果的视频,可以参考下。https://www.bilibili.com/video/BV1ry4y1H7Wn/
小哥提供的源码 https://github.com/Francesco182g/Avellino-AR
百度或高德或腾讯地图
国内的这些地图SDK都没有向个人开发者提供Unity的方案,但是都提供了Web API。可以通过发送地理位置(经纬度)或者一个当前位置为中心的地图图片,还可以通过发送起点和终点获取导航数据。下来,需要的也就是指南针和AR显示了。
通过Web API获取当前位置和导航数据,通过指南针获取方向,在对应方向绘制导航显示。这种方法,如果一直绘制导航线的话,都不一定需要用到Unity自己的导航。
缺点,如果要绘制其他的AR内容,如中途的非导航提示等会比较麻烦。
下面是ARKit+百度地图的AR实现的内容 https://connect.unity.com/p/ardao-hang-jing-ling-kai-fa-fu-pan
这也是个ARKit实现的内容,要收费。https://xiaozhuanlan.com/topic/9381047652
Unity插件
Unity还有几个插件看上去应该能相对容易地实现AR导航,例如AR + GPS Location,Road GPS Navigator等。虽然都是收费的,也许不是商用而是毕业设计的话,通过一些不渠道获得应该也还是可以的。
缺点,基本都是英文资料,而且是收费的。
AR + GPS Location https://assetstore.unity.com/packages/tools/integration/ar-gps-location-134882
Road GPS Navigator https://assetstore.unity.com/packages/tools/gui/road-gps-navigator-134766
最后再说下ARCore。ARCore的云锚点在国内不能用,而且24小时生效,7天后删除。首先对设备有要求,而且,2020年开始所有华为设备被禁用。国内能提供类似功能的增强现实SDK有EasyAR,商汤的AR,华为的AR,如果要实现类似的效果,可以考虑后面这些。
ARCore是安卓版的ARKit,感觉ARKit更好用,只是,苹果开发有3难,ID上架和热更。对于毕业设计,如果要求配备苹果电脑,苹果手机或平板,还要弄个苹果开发者账号的话,学校会被骂死的。ARKit的可以参考,和ARCore差别应该不大。
以上是关于校区范围AR导航毕业设计实现我能想到的,不保证对,仅供参考。
来源:oschina
链接:https://my.oschina.net/u/4313521/blog/4912925