一 AR简介
AR是对现实的增强,是虚拟影像和现实影像的融合。AR技术具有虚拟现实融合、实时交互、三维注册三大特征。其中三维注册是其中最重要的特征。
三维注册(也叫三维配准)强调计算机生成物和现实环境的对应关系,虚拟的物体和现实环境的三维位置和大小必须完美融合。
上图是一个典型的AR系统结构,由虚拟场景生成单元以及显示器和头盔等交互设备构成。其中虚拟场景生成单元负责虚拟场景的建模、管理、绘制和其它外设的管理;显示器负责显示虚拟和现实融合后的信号;头部跟踪设备跟踪用户视线变化;交互设备用于实现感官信号及环境控制操作信号的输入输出。
首先摄像头和传感器采集真实场景的视频或者图像,传入后台的处理单元对其进行分析和重构,并结合头部跟踪设备的数据来分析虚拟场景和真实场景的相对位置,实现坐标系的对齐并进行虚拟场景的融合计算;交互设备采集外部控制信号,实现对虚实结合场景的交互操作。系统融合后的信息会实时地显示在显示器中,展现在人的视野中。
二:Unity+Vuforia
1.访问https://developer.vuforia.com并注册一个账号。并在Downloads下选择Download for Unity,下载vuforia开发包。
2.登录后点击菜单栏的Develop,然后点击Target Manager,之后点击Add Database按钮,创建一个数据库,类型保持为默认的Device。
3.创建了数据库后,点击数据库名称,然后点击Add Target按钮添加图片。 识别类型有四种不同的选择,在虚拟家装中选择single Image即可。
4.此时数据库里就有了一张图片,勾选这个图片,点击Download Database(1),因为是用于Unity的,所以在弹出的页面里选择Unity Editor,然后点击Downloaded按钮进行下载。
5.新建一个Unity项目,导入我们第一步下载的Vuforia SDK和第4步下载的训练图包,把包直接拖到Project视图里就会出现导入面板。
6.将按照第一章节要求处理好的家具模型导入进来。
7.删掉Hierarchy视图中的Main Camera,并在Project视图中的Vuforia->Prefabs文件下找到ARCamera和ImageTarget预设体,拖动它们到Hierarchy视图中。
8.调整ARCamera和ImageTarget的位置,直到能在Game视图中看到ImageTarget,并且ARCamera有合适的高度和视角
9.在Hierarchy视图选中ImageTarget,在Inspector视图中找到Image Target Behaviour脚本,点击Database一栏的empty按钮,选择自己的识别图数据库。
之后可以根据需要调整ImageTarget的大小
10.此外,还需要申请License Key。访问https://developer.vuforia.com,登录后点击菜单栏的Develop,选择License Manager,点击Add License Key,选择类型是Development,然后填写项目名称,设备选择Mobile就行
完成后License Manager下就会出现一条新纪录,点击刚才创建的License名称,复制license信息,在Unity的Hierarchy视图里选中ARCamera,在Inspector视图中找到Vuforia Behaviour脚本,把复制的license信息粘贴到App Lisence key一栏。
11.继续往下,找到Database Load Behaviour脚本,勾选Load AR Database和Activate两个选项。
12.把我们要展示的模型(此处是家具)从Project视图中拖动到ImageTarget之下,成为ImageTarget的子节点。并 调整一下模型的位置,大小和方向。
13.导出为Android APP,安装在手机上,之后打印出识别图,放在需要的位置上,打开APP对准识别图,扫描到识别图后就会自动出现家具。