一、AR概念:

增强现实(Augmented Reality,简称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 SDK之前,你首先要做的是注册Vuforia开发者账号,有了账号之后你才能有对象数据库、才能下载SDK。进入Vuforia官网(https://developer.vuforia.com/vui/develop/licenses),注册一个账号,点击Develop.

 

之后会进入开发者界面,会有两个主要的选项:

  • License Manager:这是App的License管理界面,因为Vuforia对每个App都会有一个唯一的License Key,在Unity的设置中需要输入这个长串的Key,才能开启Vuforia的识别功能。点击“Get Development Key”获取免费的开发license,并且复制下来,unity中要用,用免费的key的话程序左下方会一直有Vuforia的水印,而且一些功能会有些限制,但是用来学习足够了;
  • Target Manager:这是对象数据库管理界面,每个数据库中可以上传需要识别的图片。点击“Add Database”,会弹出一个界面,输入这个数据库的名字和类型。数据库类型一共有两种:Device(设备识别),VuMark(条形码)。这里我们将数据库名字取为“AR_Test”,类型选择“Device”;

上传识别图像,下载图像SDK

点击创建好的数据库,进入之后点击“Add Target”添加图片对象,之后会弹出图片上传界面,上传需要进行扫描识别的图片。

  • Type:这里选择Single Image,因为只是一个简单的图片识别;

  • File:中从电脑本地中选择识别图片,这里选择图片;

  • Width:输入识别图片的宽度。这个是为了建立Unity场景中的单位长度,场景中所有其他物体的大小是以这个值为参照建立的。Vuforia中的单位长度是以米来计算。输入之后,图片的高度会以这个宽度来自动计算。这个值可以是任意的,但是最好比Camera的Near Clip值要大,不然在镜头靠近时你可能会看不到相关内容。这里输入为1;

  • Name:识别图的名字。这个很重要,每张识别图对象都有一个唯一的名字,而且Vuforia可以同时识别多张不同的图片,因此如果以后要用代码来控制选择是哪个对象的话,就是用这个名字来查找是哪张识别图,所以最好取一个能方便认识的名字。

全部信息填完之后,点击”Add“就能将识别图上传到对象数据库。

全部信息填完之后,点击”Add“就能将识别图上传到对象数据库,之后就能在对象管理界面中看到已经上传成功的识别图,这里要注意的是”Rating“的星星数量,这个是对图像识别度的评级,满分是5颗星,一般来说最低要有3颗星才能被准确识别。所以上传图片的时候Rating要保证在3颗星以上。然后勾选住最左边的checkbox,点击上方的”Download Database“按钮,在弹出的界面中选择Unity Editor,下载图片的Unity Package。将图片SDK(下载得哪个Unity Package)导入到Unity中。

三、Unity的准备

之后就需要下载Vuforia的Unity SDK,Unity安装的时候就要可以选上vuforia,省的麻烦,我都是用的unity安装包安的,另外在安装没有学。

简单的设置一下,file---Build Settings---Player Settings, 在Inspector面板---XR Settings,把Vuforia Augmented Realit 对勾打上。

四、简单的小项目

  1. 将从vuforia官网下载的数据库,双击导入,或者直接拖到project面板中assets文件夹中。

2.将原有摄像机MainCamera删除,创建ARCamera,ImageTarget,点击ARCamera--Open Vuforia Engine configutation.

3.将免费获取免费的开发license,复制到里面,数据库之前已经导入了,可以导入多个,下面选择摄像头。

4.创建一个三维物体(我是导入了我自己u做的一个模型),放到ImageTarget下,当其子物体,将你的识别图下载到另外一个设备或者打印出来,运行。

五、演示

最新文章

  1. 关于linux下system()函数的总结
  2. 为Eclipse添加Java和Android SDK源代码
  3. Spring的DI(Ioc) - 利用构造器注入
  4. BZOJ 1600 建造栅栏
  5. openCV 直方图统计
  6. CentOS7安装完毕,重新开机启动后显示: Initial setup of CentOS Linux 7 (core)
  7. iOS动画特效
  8. Docker 跟 NodeJs 最佳实践
  9. Homebrew update error not work on OSX
  10. 在linux下面解压用的zxpf是什么意思,它跟zxvf有啥区别
  11. debug.keystare找不到的解决办法[转]
  12. PHP代码审计笔记--XSS
  13. bzoj 1563
  14. vue源码cached高阶函数解析
  15. UVa 10570 Meeting with Aliens (暴力)
  16. python3配置文件的增删改查,记录一下
  17. 洛谷P2633/bzoj2588 Count on a tree (主席树)
  18. scrapy抓取拉勾网职位信息(七)——数据存储(MongoDB,Mysql,本地CSV)
  19. kvm linux虚拟机在线扩展磁盘
  20. jquery计算器(改良版)

热门文章

  1. 【干货满满】1.5w字初中级前端面试复习总结
  2. 教你用OpenCV 和 Python给证件照换底色(蓝底 <->红底->白底)
  3. Java单例模式的实现与破坏
  4. Linux系统环境基于Docker搭建Mysql数据库服务实战
  5. Gradle系列之Android Gradle插件
  6. Spring源码解析 | 第一篇 :IntelliJ IDEA2019.3编译Spring5.3.x源码
  7. openstack (共享组件) 时间同步服务
  8. Java Web学习(十二)Tomcat核心
  9. mysql 事务、隔离级别
  10. 基于docker部署jenkins