AR Engine(AR引擎服务)是一个用于在HarmonyOS上构建增强现实应用的引擎,提供了运动跟踪、环境跟踪和命中检测等空间计算能力。通过这些能力,您的应用可以实现虚拟世界与现实世界的融合,给消费者提供全新的视觉体验和交互方式。
能力介绍
AR Engine包含三大能力,分别是运动跟踪能力、环境跟踪能力和命中检测能力。
运动跟踪能力
AR Engine通过获取终端设备摄像头数据,结合图像特征和惯性传感器(IMU),计算设备位置(沿x、y、z轴方向位移)和姿态(绕x、y、z轴旋转),实现6自由度(6DoF)运动跟踪能力。
图1 6DoF运动跟踪能力示意图(红色线代表设备运动方向)
环境跟踪能力
AR Engine通过检测和跟踪设备周围的平面及语义,实现环境跟踪能力。环境跟踪能力包括:平面检测、平面语义、目标语义。
- 平面检测
检测水平和竖直平面(如地面、墙面等),并识别平面边界。您的应用可使用这些平面来放置虚拟物体。
图2 平面检测示意图(左图为水平平面,右图为竖直平面)
- 平面语义
检测不同的平面类型。当前支持的平面类型共8种,分别为:墙面、地面、座椅面、桌面、天花板、门面、窗面、床面。
图3 平面语义示意图(蓝色表示地面,绿色表示桌面)
- 目标语义
当目标物体位于平面上时,检测目标物体的形状,当前包括矩形和圆形。
图4 目标语义示意图 (左图为矩形检测,右图为圆形检测)
命中检测能力
AR Engine通过命中检测(Hit Testing)技术,将终端设备屏幕上的兴趣点映射为现实环境中的兴趣点。命中检测以现实环境中的兴趣点为源,发出一条射线连接到摄像头所在位置,返回射线与平面(或特征点)的交点。通过命中检测能力,用户可以通过点击终端设备屏幕,选中现实环境中的兴趣点,与虚拟物体进行交互。
图5 命中检测示意图
场景介绍
通过以上能力,您可以实现AR场景的应用开发,如AR物体摆放等,为用户提供虚实融合的全新交互体验。
AR物体摆放:通过摄像头构建AR虚拟世界,支持用户在虚拟世界中放置虚拟物体。AR物体摆放可用于虚拟家具试用等,实现虚拟与现实世界融合。
软件要求
- 推荐使用Ubuntu 16.04及以上版本、MacOS 10.14及以上版本、Windows 10 及以上版本安装应用开发环境DevEco Studio。
- DevEco Studio版本:DevEco Studio NEXT Developer Beta2及以上。
- HarmonyOS SDK版本:HarmonyOS NEXT Developer Beta2及以上。
硬件要求
支持的设备类型:Mate60,Mate60 Pro,Mate X5。