1.简介
得益于PokémonGO的巨大成功, 增强现实(AR)在移动开发领域受到了广泛关注。 增强现实的想法并不是什么新鲜事物,但是直到现在,该技术才终于接近成熟和商业可行性。 但是增强现实到底是什么?
这是一个非常广泛的概念,可以采用许多不同的形式。 您可以将其应用于娱乐,科学,军事,教育。 这些应用程序的共同点是物理世界和数字设备之间的实时连接。
物理,真实世界环境的实时直接或间接视图,其元素通过计算机生成的感官输入(例如声音,视频,图形或GPS数据)得到增强(或补充)。 — 维基百科
具体而言,AR通常是在交互体验中实现的,该交互体验是在一些传感器数据的通知下,将2D或3D对象叠加在摄像机供稿上。
但是,从头开始创建引人入胜的增强现实体验可能是一个真正的挑战。 幸运的是,有一些可用的解决方案可以使这项工作变得容易。 Vuforia是目前最可靠的增强现实工具之一,AR库与Android,iOS,UWP和某些品牌的智能眼镜兼容。
在本教程中,我们将使用Vuforia探索增强现实。 我们将探讨Vuforia的功能,可能性和挑战,还将探讨SDK的工作方式及其主要功能。 我们不会在本教程中探索任何代码-本系列的未来教程将深入探讨Vuforia中的编码,并提供针对库的所有主要功能的分步指南。
2. Vuforia
Vuforia最初由高通公司开发,最近被PTC收购,目前已是第六版。 它的SDK不断发展,并与Android,iOS,UWP和Unity兼容。 不幸的是,Vuforia不是开源的,但是它的价格范围是合理的,并且没有开发或教育的前期成本。 您可以使用Vuforia在最流行的移动平台上创建几乎任何种类的AR体验。
它是如何工作的?
Vuforia将设备的摄像头输入与加速度计和陀螺仪数据结合使用,以检查整个世界。 Vuforia使用计算机视觉来了解它在相机上看到的内容,从而创建环境模型。 处理完数据后,系统可以知道自己的坐标,从而大致定位在世界上:上,下,左,右等。 您如何处理取决于您的开发目标。
有多种可能性:
- 使用世界坐标 :可以使用任意参考来显示任何对象,而忽略实际障碍,但要考虑获得的世界定位。 该对象可能不可见,并继续“存在”于同一位置。 这是一个类似于神奇宝贝GO使用的系统。
- 识别目标 :Vuforia可以查找特定图像作为“目标”。 VuMarks,例如系统可以高度识别的QR码样式的图像,可以用作投影到世界上任何物体的定位点或参考。 杂志可以通过此资源“扩展”,其页面可以打开丰富的互动方式,例如视频,音频等。
- 识别简单对象 :诸如盒子和圆柱体之类的简单对象可以被识别并用作锚点。 此方法对于识别包并使它们具有交互性很有用。
- 识别复杂对象 :Vuforia还可以寻找复杂对象,例如玩具,计算机零件,小工具等。 这些对象先前已被扫描,符合特定要求,以后可以被系统识别。 例如,可以使用此功能将玩具变成活物,或为机械师或维修人员创建交互式帮助。
- 寻找单词 :Vuforia也可以理解英语单词。 系统可以查找特定的单词,并针对它们进行某种交互。 这对于儿童学习工具或语言翻译很有用。
- 识别世界地形 :Vuforia可用的最强大功能之一就是能够按原样识别世界。 Vuforia允许用户扫描周围的环境,并可以通过创建真实世界及其对象的3D计算机视觉来进行一些硬性处理来解释世界。 想象一下类似神奇宝贝GO的游戏,其中神奇宝贝可以躲在真实物体后面。 那不是很棒吗?
与Vuforia一起发展
Vuforia与多个系统兼容。 其软件开发套件(SDK)可用于Android,iOS,UWP和Unity。 下载并安装SDK后,您需要先注册一个开发人员帐户并创建一个应用**,然后才能开始编码。
即使Vuforia与许多系统兼容,使用其SDK创建引人入胜的AR体验的最简单方法肯定是使用Unity 。 别误会,直接为Android或iOS开发时,您几乎可以访问Vuforia提供的所有功能。 但是,使用Vuforia Unity SDK上提供的预制件完成此过程会更加简单。
3. Vuforia目标
如前所述,Vuforia可以在相机供稿上寻找“目标”以创建锚点或参考,以供AR体验使用。 这些目标可以采用多种形式,并且可以识别Vuforia目标管理器先前处理过的任何文件。 目标可以由开发人员创建,也可以由用户在执行过程中创建。
图像目标
任何类型的图像都可以是Vuforia 图像目标 。 但是,图像越详细和复杂,算法识别的效果就越好。 识别计算将包括很多因素,但是基本上图像必须具有合理水平的对比度,分辨率和区分元素。 蓝天的照片效果不佳,但是一张草的照片可以正常工作。 图像目标可以随应用程序一起提供,稍后创建并通过云系统上传到应用程序,或者由用户直接在应用程序上创建。
VuMarks
VuMark的工作原理与QR码非常相似; 但是,它的用途更加广泛。 它可以采用多种形状和颜色,并可以适应多种环境。 它的最大优点是,它完全符合Vuforia的识别算法,并且可以被任何Vuforia AR应用程序轻松“发现”。 Vuforia还提供可创建VuMarks的Adobe Illustrator插件 。
圆柱体和立方体靶
也可以使用立方体和圆柱体作为图像目标。 这非常适合与产品包装建立联系。 一旦被识别,原始对象将用作锚点,并且似乎存在于系统的计算机视觉中,从而允许虚拟对象直接与原始对象进行交互。 例如,虚拟对象可以跟踪真实对象的位置和方向。
对象作为目标
Vuforia最有趣的功能之一就是可以识别复杂的物体 。 玩具,电话,计算机板和其他类型的对象都可以用作目标。
要使用此资源,您必须使用仅在Samsung Galaxy S6和S7上运行的Vuforia Object Scanner工具扫描对象。 数据扫描将上传到Vuforia Target Manager,并且任何兼容的设备使用该数据都可以识别扫描的对象。
管理目标
有多种创建目标的方法:
- 该应用程序可以附带一系列嵌入的目标。
- 该应用程序可以通过Vuforia提供的云系统在线接收目标。
- 用户自己可以使用设备的相机创建目标。
作为开发人员,您对用户如何创建目标没有太多控制权。 您所能做的就是为用户提供有关如何选择合适的图像作为目标的提示。 但是,对于使用“目标管理器”处理的目标而言,情况有所不同。
Vuforia的开发人员门户为我们提供了目标管理器工具,以帮助管理所有应用程序的目标。 管理器非常简单:创建一个数据库来保存目标,上传与目标相对应的文件,然后等待文件处理完毕。 目标将收到唯一的ID和与其可识别程度相关的分数,然后将成为数据库的一部分,可下载或存储在云中。
有三种不同类型的目标数据库:
- 设备数据库是存储在用户设备上的图像或对象目标的本地数据库。
- VuMark数据库是VuMark的本地数据库,存储在用户设备上。
- 云数据库是在线存储并通过Internet查询的图像目标数据库。
4.智能地形
在Unity上开发Vuforia应用程序时,有一个非常令人兴奋的选项Smart Terrain 。 它允许应用程序复制相机看到的对象的3D网格。
该过程就像某种扫描一样工作,用户将设备的相机用作3D扫描仪。 当摄像机在周围环境中扫描时,该应用程序将创建可识别对象的3D模型,从而使该应用程序可以将场景调整为现实环境,从而产生深具吸引力的体验。
5.结论
利用增强现实探索的可能性有数百种,而我们才刚刚开始摸索它的表面。 许多人认为,增强现实将成为我们未来的一部分,并且我们将每天使用它。 这个领域有望在未来几年中发展很多,Vuforia为我们提供了很酷的工具来创造引人入胜的体验。
5.1下一步
在本系列的以下教程中,我们将使用Vuforia的一些最重要的工具。 我们将开发许多小型实验来说明SDK功能,并且由于Unity是最可用的AR友好环境,因此将在其上进行开发。
不必成为Unity专家即可按照这些教程进行操作-由于我们的重点是Vuforia SDK,因此我将向您提供分步指南,这些指南只需要很少的Unity经验。
再见!
翻译自: https://code.tutsplus.com/tutorials/introducing-augmented-reality-with-vuforia--cms-27160