运动跟踪与EasyAR功能

什么是运动跟踪

通常来说,在AR语境下,运动跟踪通常是指实时获取设备(手机、眼镜等)的位姿(pose)的能力,这个pose通常是六自由度(6-DOF)的。大部分软件和设备通过视觉惯性里程计(visual-inertial odometry,即VIO)算法来实现运动跟踪能力。

从效果上来说,拥有运动跟踪能力的设备才能在没有预先输入(比如识别图或物体)的情况下实现在一个场景中自由移动,而保持虚拟物体与环境贴合的能力。但它本身并不提供识别场景的功能。即:设备可以构建出与现实环境一样的虚拟场景,但设备并不知道这个虚拟场景在现实场景的什么地方。

在一般使用场景中,运动跟踪可以实现在眼前的桌面上摆放虚拟物体,可以实现虚拟尺子。然而仅靠运动跟踪无法实现在比如在上海东方明珠顶上摆放虚拟物体,且每次打开设备物体都在那里。

谁能提供运动跟踪能力

运动跟踪能力的实现多种多样,这里我们仅列出通常情况,尤其是与EasyAR有交互的实现。

操作系统

其实说操作系统并不准确,因为操作系统厂商对硬件也有一定的控制能力。

在实现上,比较类似的三种大家熟知的软件服务:

  • ARKit(Apple,iOS设备)

  • ARCore(Google,Android设备)

  • AREngine(华为,Android设备)

需要注意的是,这些软件并不只提供运动跟踪能力,运动跟踪是它们的基础能力之一。

眼镜等硬件设备

同样的,将设备与操作系统分开并不严谨,我们这里主要想说明的是这样一类情况,即厂商自身对AR实现有较强的定制能力,区别于常见的手机设备。

  • Pico

  • Qiyu

  • Rokid

  • Nreal/XREAL

  • 其它眼镜设备

如果你是眼镜制造商,想使用EasyAR的一些功能,那通常建议你以某种方式在设备上自己实现运动跟踪,因为在这样的设备中,硬件的定制性极强,且这些定制性也提供了更好的运动跟踪能力,这个能力通常是手机所无法比拟的。

EasyAR

EasyAR的运动跟踪(MotionTracker)实现效果与ARCore、ARKit比较类似。

  • EasyAR Sense(Android设备,主要是常见手机设备)

EasyAR Sense提供了运动跟踪能力,使用它你需要有一个app。EasyAR Sense的运动跟踪功能通常在手机上能使用,个别其它设备也可以使用,但它对硬件结构和参数有一些要求,一般都需要单独适配,并不是随意插上一个摄像头就可以的。

需要注意的是,EasyAR并不只提供运动跟踪能力,运动跟踪是EasyAR的基础能力之一。

在EasyAR Sense Unity Plugin中,一个典型的AR Session会根据具体配置及设备支持情况来选择使用哪个运动跟踪功能。

AR Foundation又是什么

AR Foundation的官方定义是一个可以一次性开发跨平台部署的开发AR的框架。通常来说,AR Foundation其实就是提供了一个统一化的接口,其AR功能还是靠底层实现,这些实现可以是ARCore、ARKit,也可以是一些特殊的设备,通过OpenXR标准或其它方式接入AR Foundation。

所以你并不能通过AR Foundation本身来获得运动跟踪能力,你需要使用AR Foundation底层运行的ARCore、ARKit,或是EasyAR、Nreal SDK等来使用运动跟踪。

EasyAR各项功能与运动跟踪的关系

EasyAR的功能在Android系统中并不依赖外部运动跟踪的实现,即EasyAR并不需要ARCore、AREngine安装才能运行。但在运行一些功能的时候,你可能会希望在支持ARCore、AREngine等的设备上使用它们自身的运动跟踪功能。在iOS系统中,EasyAR的一部分功能会使用ARKit的运动跟踪能力。

EasyAR的什么功能不依赖运动跟踪能力

在仅使用以下这些功能的时候,你不需要使用运动跟踪算法,如有需要,你可以放心的关闭ARCore、AREnine相关功能,

  • 平面图像跟踪(不使用运动融合)

  • 3D 物体跟踪(不使用运动融合)

  • 云识别

  • 多目标跟踪

  • 表面跟踪

EasyAR的什么功能必须使用运动跟踪能力

在使用以下这些功能的时候,你是需要运行一个运动跟踪算法的,这时可以考虑使用ARCore、AREngine等,以便在支持它们的设备上使用它们的运动跟踪。iOS设备上则需要使用ARKit,这个会通过EasyAR自动使用。如果在这些功能时不使用ARCore、AREngine等功能,一般情况下将使用EasyAR自身的运动跟踪功能。

  • 运动跟踪

  • 识别平面并在平面上放置物体(如果是在手机上运行,你需要使用EasyAR Motion Tracker或AR Foundation)

  • 稀疏空间地图

  • 稠密空间地图

  • 运动融合

  • Mega

如何配置使用运动跟踪能力

一般来说,通过右键菜单(GameObject菜单)创建的AR Session都可以直接使用,可以参考 从零创建可运行的工程与 AR Foundation 协同工作EasyAR头显扩展 内相关描述。