基于EasyAR运动跟踪的室内导航

EasyAR4.0带了运动跟踪功能,用这个试着做了个室内导航的例子。

基于运动跟踪的室内导航,效果不理想,一是偏差还是比较大,二是导航开始的时候需要扫描特定图片。

原理很简单,利用运动跟踪功能,及当移动设备在空间移动的时候,能够很准确的知道设备当前的位置角度的变化。简单说就是,设备在空间中向某个方向移动了多少距离,设备自己是知道的。

基于EasyAR运动跟踪的室内导航_第1张图片

利用运动跟踪这个特性,在Unity中建立一个和现实要导航的空间1:1对应的导航路径(NavMesh)。

基于EasyAR运动跟踪的室内导航_第2张图片

导航开始的时候,通过扫描一副特定图片,实现虚拟空间的导航路径和现实空间位置角度对应。当对应起来以后,在Unity虚拟空间导航的结果,就能正确的反应到现实空间。

基于EasyAR运动跟踪的室内导航_第3张图片

 

做法是这样的,首先在空间中扫描特定图片获取关键点,然后,根据关键点设置路径。在导航开始的时候,先根据关键点和设置的路径建立出路径,扫描到特定图片以后,将建立的路径和现实对应起来并烘焙导航信息。然后利用Unity自带的导航功能即可完成导航。

EasyAR官方例子中,有个叫MotionTracking_ImageTarget的场景,即运动跟踪和图片识别同时作用的场景,整个过程中用到EasyAR的内容就和这个例子场景中用到的一样。

导航效果如下

EasyAR4.0运动跟踪室内导航

使用过程如下:

EasyAR4.0运动跟踪室内导航

 

源码放在了github:https://github.com/wuyt/Shingeki

编译好的apk和需要打印的图片都在网盘里:

https://pan.baidu.com/s/1wpQ4HvP4VeOB5ndIYtjl4g

ebdq

你可能感兴趣的:(unity3d,AR(增强现实),移动平台开发)