增强现实技术(
Augmented Reality
,简称
AR
)在最近几年比较火热。我们如果想要开发一个
AR
应用或者
AR
游戏,那么最快捷的方式就是采用一款成熟的
AR
引擎。
Vuforia 是目前使用人数最多的
AR 引擎,功能强大,开发者使用其提供的
AR SDK 可以很轻松实现图片、物体、文本和标记的识别和追踪,以及重建环境。
一、官方Demo提供的9种应用展示
Vuforia 官方提供的示例包含有
9 种应用效果展示(后面我们会将其编译部署到手机看看效果),同时通过官方示例代码也可以让我们更好地学习
Vuforia SDK 的使用。
这九种应用展示的主要特点和基本功能分别如下:
1,Image Targets(图像目标)
图像目标示例显示了如何检测图像的目标和渲染在它上面的一个简单的
3D 对象。 主要功能包括:
- 同时检测和多目标跟踪
- 加载和激活多个设备中的数据库
- 激活扩展跟踪
- 管理相机功能:闪光灯和连续自动对焦
2,Cylinder Targets(圆柱追踪)
筒形靶样品显示了如何检测的圆筒形靶和围绕圆柱体的圆周动画
3D 对象。 主要功能包括:
- 检测气缸目标和跟踪
- 遮挡处理
- 激活扩展跟踪
- 管理相机功能:闪光灯和连续自动对焦
3,Multi Targets(多目标)
- 多目标的示例显示了如何检测一个简单的长方体形状的三维动画和周边形状的 3D 对象。 主要功能包括:
- 检测与长方体形状的 3D 跟踪
- 遮挡处理
- 激活扩展跟踪
- 管理相机功能:闪光灯和连续自动对焦
4,User Defined Targets(用户自定义目标)
用户定义的目标示例显示了如何捕获和从用户选择的摄像机的视频帧运行时创建一个图像的目标。 主要功能包括:
- 创建和管理用户定义的图像目标
- 激活扩展跟踪
- 管理相机功能:闪光灯和连续自动对焦
5,Smart Terrain(智能地形)
智能地形示例应用程序演示了如何在一个目标让聪明的地形和使用重建网格渲染的内容。 主要功能包括:
- 从已知的目标初始化
- 扫描表面找对象
- 在主面绘制网格
- 上主表面中找到的对象的渲染的箱
6,Cloud Recognition (云识别)
云识别的示例显示了如何使用云识别服务识别位于云数据库的目标。 主要功能包括:
- 管理检测基于云的图像目标跟踪
- 激活扩展跟踪
- 管理相机功能:闪光灯和连续自动对焦
7,Text Recognition (文字识别)
文本识别样本显示在相机画面的指定区域内的动态识别英语单词。 主要功能包括:
- 检测的英语单词和跟踪包含在默认的文字列表
- 管理相机功能:闪光灯
8,Frame Markers(帧标记)
帧标记示例演示如何检测帧标记,并呈现在上面一个简单的
3D 对象。 主要功能包括:
- 检测和多帧标记追踪
- 管理相机功能:闪光灯和连续自动对焦
9,Virtual Button(虚拟按键)
虚拟按钮示例显示了如何开发人员可以在触发事件触及或闭塞的摄像机视图时,图像的目标定义的矩形区域。 样品呈现,当虚拟按钮中的一个被触发改变颜色的
3D 对象。 主要功能包括:
- 按钮遮挡事件处理
- 的多个虚拟按钮激活
- 管理相机功能:闪光灯和连续自动对焦
二、准备工作
1,设备准备
Vuforia SDK 和
demo 支持多个平台,包括:
Android、
iOS、
Windows、
Unity。本文主要演示在
iOS 设备下的编译运行,所以准备的设备有:
- 一台 Mac 电脑
- 一部 iPhone 手机,或者 iPad(模拟器无法编译运行)
2,注册 Vuforia 开发账号
要下载
Vuforia SDK 和样例程序,我们首先要到其官网上注册个账号,地址: https://developer.vuforia.com/
3,注册 License Key
账号注册登录后,我们还需要为
App 注册个
License Key(开发使用是免费的),后门发布程序时会用到。
地址: https://developer.vuforia.com/targetmanager/licenseManager/licenseListingDetails
4,下载 SDK
这里我们选择
iOS 版的
SDK,地址: https://developer.vuforia.com/downloads/sdk
5,下载样例包
这里还是选择
iOS 版的
Sample,地址: https://developer.vuforia.com/downloads/samples
三、编译部署
(1)首先分别将前面下载下来的
SDK 和
Samples 进行解压。
(2)接着将整个
samples 文件夹复制到到
sdk 文件夹里的
samples 目录下:
(3)最后点击
samples 中的
VuforiaSamples.xcodeproj 就可以打开样例工程。
(4)修改下应用的
Bundle Identifier 的值。
(5)搜索代码“
setInitParameters”,将我们之前申请到的
License Key 添加进来。如果没有
Key,后面运行时会报“
vuforia app key is missing...”错误。
(6)最后将手机进入电脑,将
Xcode 的发布目标选择为手机后,即可编译运行了。
四、样例演示
(1)样例启动后首先显示的是一个列表,每个列表项对应一个功能演示。下面我测试下最后一个
Virtual Buttons(虚拟按键)
(2)我们先用电脑浏览器打开: https://developer.vuforia.com/sites/default/files/sample-apps/targets/wood.pdf
这个是一个木头纹理的图片,图片下方还有四种颜色的方块。
(3)手机这边进入
Virtual Buttons 模块后,将摄像头对着这个木头图片。会发现木头上会出现一个茶壶模型。
(当然我们也可事先将图片打印出来平放在桌面上,然后用手机扫描,这样效果会更好。)
(4)改变手机的角度和位置,就可以从不同的角度观察水壶模型。(水壶的底部始终紧贴在木头图片上)
(5)图片上的颜色方块其实就是一个个虚拟按钮,我们将手指移动到上面,会发现屏幕中水壶也变成对应的颜色。