Vuforia开发完全指南(一)--- Vuforia概述

Vuforia概述


AR(Augmented Reality)增强现实,想必大家都已经很熟悉了。这是当下最热的技术之一,是利用计算机视觉和计算机图像学领域的相关知识将虚拟世界融入到现实生活当中。AR和另外的VR(Virtual Reality,虚拟现实)以及MR(Mix Reality,混合现实)并称能改变未来生活的3R技术,更是被誉为下一代计算平台。去年(2016年)是VR元年,各大科技巨头都纷纷砸重金进入这个领域,Oculus和HTC的VR设备的惊艳亮相,带动了整个VR行业的大热。MR更是黑科技中的战斗机,目前只有微软的Hololens走在最前面。相对于VR和MR,AR的技术要早很多年,其实也已经在现实生活中初见端倪,大家熟悉的直播中常用的虚拟面罩其实就是AR的应用场景之一。世界上第一次将AR运用到现实生活中要追溯到上个世纪90年代,美国空军的Armstrong实验室在1992年研制出了Virtual Fixtures系统,该系统起初是为了增进人类的表现力以及完成一些远程控制任务而设计。但是当时受制于硬件的限制,AR这一技术始终没有被大规模普及开来。近年来随着计算机硬件的惊人进步,特别是微电子领域的高速发展,使得硬件这一壁垒早已被打破,AR技术得以拨开云雨重见天日,并被认为是下一代通用计算平台。

像所有的开发一样,AR也需要有巨头来提供SDK,使得开发者们能够基于底层封装好的模块,快速的开发出一系列AR产品。目前世界上主流的AR SDK提供厂商,国外的主要是Vuforia、Metaio,国内的主要是EasyAR。其中Metaio在2015年5月已被Apple重金收购,之后就没有再对外公开过SDK,经过两年的封闭开发,Apple已经打造出了强大的ARKit,能够基于庞大的iOS和iPad设备生产出各种惊艳的AR产品。Vuforia也在2015年11月被PTC公司重金收购,但是后续一直在更新并提供SDK,因此在ARKit普及之前,Vuforia一直是开发者最青睐的AR SDK,众多的功能以及高质量的识别技术,使得Vuforia早已深入人心。

随着VR/AR/MR的大热,笔者本人也利用Vuforia开发了一系列的AR产品,高品质的识别速度让顾客十分满意,Unity和Vuforia的深入结合也让AR开发变得十分容易上手,并且能够打造出十分惊艳的产品。《Vuforia开发完全指南》这一系列文章,就是笔者借着利用Vuforia开发的一些经验,来将Vuforia开发的流程以及各种功能细节写成教程,希望能够帮助AR开发者们能够快速进入AR的世界。


Vuforia的SDK支持很多平台,包括iOS、Android、UWP,能够适配市面上大部分的移动终端。Vuforia SDK封装了底层用来图像识别的计算机视觉模块,而且不用你操心摄像头的开启以及图像的读取,这些Vuforia都为你提供好了一系列的参数设置,开发者需要做的只是按照需要配置这些参数,然后基于底层的识别算法开发出自己想要的AR程序。

Vuforia主要由三大部分组成:

  • Vuforia引擎。这个引擎是一个静态链接库,作为客户端封装进最终的App中,用来进行最主要的识别功能,支持iOS、Android和UWP,并且根据不同的平台开放出了不同的SDK,可以根据需要从Android Studio、Xcode、Visual Studio以及Unity中任选一种作为开发工具。本系列是以Unity为开发工具,因为Unity本来就是个游戏引擎,对3D模型的导入以及控制非常方便,非常适合开发AR程序;
  • 一系列工具。Vuforia提供了一系列的工具,用来创建对象、管理对象数据库以及管理程序licenses。Target Manager是一个网页程序,开发者在里面创建和管理对象数据库,并且可以生成一系列的识别图像,用在AR设备以及云端上。Licenses Manager用来创建和管理程序licenses,因为每一个AR程序都有一个唯一的licenses。Vuforia Object Scanner是Vuforia近段时间新出的工具,用来进行十分黑科技的功能--实物扫描,但是很遗憾目前只支持某些Android设备。
  • 云识别服务。当你的AR程序需要识别数量很庞大的图片对象,或者你的对象数据库需要经常更新,可以选择Vuforia的云识别服务。Vuforia Web Services可以让你很轻松的管理数量庞大的对象数据库,并且可以建立自动的工作流。

根据功能的不同,Vuforia支持很多类型的AR识别类型,主要有以下几种:

  • Image Targets,这是最常用、也是最简单的识别对象,即单一静态的平面图像,比如打印的图片或者产品包装;


  • VuMark,这是Vuforia自己研发的一种新型条形码,并且被称为下一代条形码,你能够自己随意设计这种条形码的样式,并且在其中融入相关的数据信息;


  • Multi-Targets,多对象识别,可以同时识别多张Image Targets,并且可以把它们和几何立体物体结合起来,比如一个纸盒子,或者任意形状的平面;


  • Cylinder Targets,是形状类似于圆柱形的图片,可以将这些图片贴到一些圆柱形物体上比如瓶子、杯子等等,进行识别;


  • Text Recognization,文字识别,可以识别大约10万个英文单词,对于一些英语教育产品很是实用。但是很遗憾,不支持中文汉字识别,只支持英文;


  • Object Recognization,实物识别,这是Vuforia在今年前不久推出的一种新型识别,识别对象已经从简单的图像中跳出来了,可以基于现实生活中的实物模型进行扫描识别,很是黑科技,这也代表着AR的未来。但是很遗憾目前只支持三星S7等少数Android手机,不过随着技术的进步,不久的未来一定会全平台覆盖;


  • Smart Terrain,这是一项突破性的技术,可以基于用户的真实物理环境重新建造虚拟的3D环境,可以打造出新型种类的游戏以及很真实的视觉效果,这种产品中的元素可以和真实世界中的物理实体以及平面进行互动,非常酷炫,真正做到了虚拟和现实相互融合。


Vuforia的SDK可以是免费的,开发者只需注册一个开发者账号,进入官网下载相关平台的SDK就可以进行开发了。当然,免费有免费的限制,用免费SDK开发的程序,摄像头取景时左下角始终会有Vuforia的水印存在,而且一些高级功能也有数量限制。所以如果你是想开发企业级产品,最好还是花钱去买个licenses吧。但是对于学习Vuforia,免费SDK就够了,功能上没有什么太大的影响。

本系列教程采用的是Unity SDK,基于Vuforia + Unity开发AR产品。众所周知,Unity是目前世界上最流行的游戏引擎,也是开发者用的最多的VR/AR开发工具,你不需要懂得计算机图形学,不需要懂得光照计算,不需要会使用OpenGL,也不用操心模型是怎样导入的等等一系列流程,你需要的只是将模型导入,然后用C#编写控制脚本,根据平台编译生成二进制文件,就OK了。同时Vuforia的Unity SDK十分人性化,有很多的常用设置,你可以根据需要设置相关参数,并且不用操心摄像头取景等问题,Vuforia都为你做好了,你需要做的只是free your imagination。


关于具体的开发流程,本系列教程采用的是最新版的Unity作为开发工具,C#作为开发语言(后期还会用到Objective-C,进行Vuforia和Xcode的结合),Mac系统作为开发环境,Xcode作为程序编译链接工具,iOS作为程序最终生成平台。但是其实也不必太在意操作系统的选择,Windows下的Unity一样可以开发AR程序,只不过笔者选择的运行平台是iOS,Unity生成iOS平台App的流程是Unity先要生成Xcode工程,然后利用Xcode进行编译链接,生成最终的App二进制文件进行安装,因此选择了Mac + Unity + Xcode这样的组合。如果只是想开发Android程序,Windows就够了,因为Unity生成Android程序不需要生成中间的工程,可以直接生成APK包进行安装。

好了,接下来我会首先从最基础的教学,让一个不懂编程的人也能快速开发AR程序,然后逐步将Vuforia的各种AR功能展现出来。相信如果你能学完本教程,关于Vuforia的AR开发,应该可以算得上入门并且比较熟悉了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容